feat(#2): Implement PostgreSQL 17 + pgvector database schema

Establishes multi-tenant database layer with vector similarity search for AI-powered memory features. Includes Docker infrastructure, Prisma ORM integration, NestJS services, and shared types across the monorepo.

Key changes:
- Docker: PostgreSQL 17 + pgvector v0.7.4, Valkey cache
- Schema: 8 models (User, Workspace, Task, Event, Project, ActivityLog, MemoryEmbedding) with RLS preparation
- NestJS: PrismaModule, DatabaseModule, EmbeddingsService
- Shared: Type-safe enums, constants, and database types

Fixes #2

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
This commit is contained in:
Jason Woltje
2026-01-28 16:06:34 -06:00
co-authored by Claude Sonnet 4.5
parent 355cf2124b
commit 99afde4f99
26 changed files with 1844 additions and 64 deletions
+343 -55
View File
@@ -10,19 +10,19 @@ importers:
devDependencies:
'@typescript-eslint/eslint-plugin':
specifier: ^8.26.0
version: 8.54.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
version: 8.54.0(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected])
'@typescript-eslint/parser':
specifier: ^8.26.0
version: 8.54.0([email protected])([email protected])
version: 8.54.0([email protected]([email protected]))([email protected])
eslint:
specifier: ^9.21.0
version: 9.39.2
version: 9.39.2([email protected])
eslint-config-prettier:
specifier: ^10.1.0
version: 10.1.8([email protected])
version: 10.1.8([email protected]([email protected]))
eslint-plugin-prettier:
specifier: ^5.2.3
version: 5.5.5(@types/[email protected])([email protected]([email protected]))([email protected])([email protected])
version: 5.5.5(@types/[email protected])([email protected]([email protected]([email protected])))([email protected]([email protected]))([email protected])
prettier:
specifier: ^3.5.3
version: 3.8.1
@@ -34,7 +34,7 @@ importers:
version: 5.9.3
vitest:
specifier: ^3.0.8
version: 3.2.4(@types/[email protected])([email protected])([email protected])
version: 3.2.4(@types/[email protected])([email protected])([email protected])([email protected])([email protected])
apps/api:
dependencies:
@@ -50,6 +50,9 @@ importers:
'@nestjs/platform-express':
specifier: ^11.1.12
version: 11.1.12(@nestjs/[email protected]([email protected])([email protected]))(@nestjs/[email protected])
'@prisma/client':
specifier: ^6.19.2
version: 6.19.2([email protected]([email protected]))([email protected])
reflect-metadata:
specifier: ^0.2.2
version: 0.2.2
@@ -78,6 +81,12 @@ importers:
'@types/node':
specifier: ^22.13.4
version: 22.19.7
prisma:
specifier: ^6.19.2
version: 6.19.2([email protected])
tsx:
specifier: ^4.21.0
version: 4.21.0
typescript:
specifier: ^5.8.2
version: 5.9.3
@@ -86,7 +95,7 @@ importers:
version: 1.5.9(@swc/[email protected])([email protected])
vitest:
specifier: ^3.0.8
version: 3.2.4(@types/[email protected])([email protected])([email protected])
version: 3.2.4(@types/[email protected])([email protected])([email protected])([email protected])([email protected])
apps/web:
dependencies:
@@ -126,7 +135,7 @@ importers:
version: 19.2.3(@types/[email protected])
'@vitejs/plugin-react':
specifier: ^4.3.4
version: 4.7.0([email protected](@types/[email protected])([email protected].0))
version: 4.7.0([email protected](@types/[email protected])([email protected])([email protected])([email protected].0))
jsdom:
specifier: ^26.0.0
version: 26.1.0
@@ -135,7 +144,7 @@ importers:
version: 5.9.3
vitest:
specifier: ^3.0.8
version: 3.2.4(@types/[email protected])([email protected])([email protected])
version: 3.2.4(@types/[email protected])([email protected])([email protected])([email protected])([email protected])
packages/config:
dependencies:
@@ -144,25 +153,25 @@ importers:
version: 9.39.2
'@typescript-eslint/eslint-plugin':
specifier: ^8.26.0
version: 8.54.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
version: 8.54.0(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected])
'@typescript-eslint/parser':
specifier: ^8.26.0
version: 8.54.0([email protected])([email protected])
version: 8.54.0([email protected]([email protected]))([email protected])
eslint:
specifier: ^9.21.0
version: 9.39.2
version: 9.39.2([email protected])
eslint-config-prettier:
specifier: ^10.1.0
version: 10.1.8([email protected])
version: 10.1.8([email protected]([email protected]))
eslint-plugin-prettier:
specifier: ^5.2.3
version: 5.5.5(@types/[email protected])([email protected]([email protected]))([email protected])([email protected])
version: 5.5.5(@types/[email protected])([email protected]([email protected]([email protected])))([email protected]([email protected]))([email protected])
prettier:
specifier: ^3.5.3
version: 3.8.1
typescript-eslint:
specifier: ^8.26.0
version: 8.54.0([email protected])([email protected])
version: 8.54.0([email protected]([email protected]))([email protected])
devDependencies:
typescript:
specifier: ^5.8.2
@@ -178,7 +187,7 @@ importers:
version: 5.9.3
vitest:
specifier: ^3.0.8
version: 3.2.4(@types/[email protected])([email protected])([email protected])
version: 3.2.4(@types/[email protected])([email protected])([email protected])([email protected])([email protected])
packages/ui:
dependencies:
@@ -206,7 +215,7 @@ importers:
version: 5.9.3
vitest:
specifier: ^3.0.8
version: 3.2.4(@types/[email protected])([email protected])([email protected])
version: 3.2.4(@types/[email protected])([email protected])([email protected])([email protected])([email protected])
packages:
@@ -1021,6 +1030,36 @@ packages:
resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
'@prisma/[email protected]':
resolution: {integrity: sha512-gR2EMvfK/aTxsuooaDA32D8v+us/8AAet+C3J1cc04SW35FPdZYgLF+iN4NDLUgAaUGTKdAB0CYenu1TAgGdMg==}
engines: {node: '>=18.18'}
peerDependencies:
prisma: '*'
typescript: '>=5.1.0'
peerDependenciesMeta:
prisma:
optional: true
typescript:
optional: true
'@prisma/[email protected]':
resolution: {integrity: sha512-kadBGDl+aUswv/zZMk9Mx0C8UZs1kjao8H9/JpI4Wh4SHZaM7zkTwiKn/iFLfRg+XtOAo/Z/c6pAYhijKl0nzQ==}
'@prisma/[email protected]':
resolution: {integrity: sha512-lFnEZsLdFLmEVCVNdskLDCL8Uup41GDfU0LUfquw+ercJC8ODTuL0WNKgOKmYxCJVvFwf0OuZBzW99DuWmoH2A==}
'@prisma/[email protected]':
resolution: {integrity: sha512-03bgb1VD5gvuumNf+7fVGBzfpJPjmqV423l/WxsWk2cNQ42JD0/SsFBPhN6z8iAvdHs07/7ei77SKu7aZfq8bA==}
'@prisma/[email protected]':
resolution: {integrity: sha512-TTkJ8r+uk/uqczX40wb+ODG0E0icVsMgwCTyTHXehaEfb0uo80M9g1aW1tEJrxmFHeOZFXdI2sTA1j1AgcHi4A==}
'@prisma/[email protected]':
resolution: {integrity: sha512-h4Ff4Pho+SR1S8XerMCC12X//oY2bG3Iug/fUnudfcXEUnIeRiBdXHFdGlGOgQ3HqKgosTEhkZMvGM9tWtYC+Q==}
'@prisma/[email protected]':
resolution: {integrity: sha512-PGLr06JUSTqIvztJtAzIxOwtWKtJm5WwOG6xpsgD37Rc84FpfUBGLKz65YpJBGtkRQGXTYEFie7pYALocC3MtA==}
'@rolldown/[email protected]':
resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==}
@@ -1158,6 +1197,9 @@ packages:
cpu: [x64]
os: [win32]
'@standard-schema/[email protected]':
resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
'@swc/[email protected]':
resolution: {integrity: sha512-QoIupRWVH8AF1TgxYyeA5nS18dtqMuxNwchjBIwJo3RdwLEFiJq6onOx9JAxHtuPwUkIVuU2Xbp+jCJ7Vzmgtg==}
engines: {node: '>=10'}
@@ -1620,6 +1662,14 @@ packages:
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
engines: {node: '>= 0.8'}
[email protected]:
resolution: {integrity: sha512-uWoS8OU1MEIsOv8p/5a82c3H31LsWVR5qiyXVfBNOzfffjUWtPnhAb4BYI2uG2HfGmZmFjCtui5XNWaps+iFuw==}
peerDependencies:
magicast: ^0.3.5
peerDependenciesMeta:
magicast:
optional: true
[email protected]:
resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
engines: {node: '>=8'}
@@ -1662,6 +1712,12 @@ packages:
resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
engines: {node: '>=6.0'}
[email protected]:
resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==}
[email protected]:
resolution: {integrity: sha512-8csy5IBFI2ex2hTVpaHN2j+LNE199AgiI7y4dMintrr8i0lQiFn+0AWMZrWdHKIgMOer65f8IThysYhoReqjWA==}
[email protected]:
resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
engines: {node: '>=8'}
@@ -1710,6 +1766,9 @@ packages:
resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==}
engines: {'0': node >= 6.0}
[email protected]:
resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==}
[email protected]:
resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
engines: {node: ^14.18.0 || >=16.10.0}
@@ -1786,6 +1845,10 @@ packages:
[email protected]:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
[email protected]:
resolution: {integrity: sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==}
engines: {node: '>=16.0.0'}
[email protected]:
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
engines: {node: '>=0.10.0'}
@@ -1793,6 +1856,9 @@ packages:
[email protected]:
resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
[email protected]:
resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
[email protected]:
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
engines: {node: '>= 0.8'}
@@ -1801,6 +1867,9 @@ packages:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
[email protected]:
resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==}
[email protected]:
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
engines: {node: '>=8'}
@@ -1811,6 +1880,10 @@ packages:
[email protected]:
resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==}
[email protected]:
resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
engines: {node: '>=12'}
[email protected]:
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
engines: {node: '>= 0.4'}
@@ -1818,12 +1891,19 @@ packages:
[email protected]:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
[email protected]:
resolution: {integrity: sha512-b1LXQJLe9D11wfnOKAk3PKxuqYshQ0Heez+y5pnkd3jLj1yx9QhM72zZ9uUrOQyNvrs2GZZd/3maL0ZV18YuDA==}
[email protected]:
resolution: {integrity: sha512-0bblUU5UNdOt5G7XqGiJtpZMONma6WAfq9vsFmtn9x1+joAObr6x1chfqyxFSDCAFwFhCQDrqeAr6MYdpwJ9Hg==}
[email protected]:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
[email protected]:
resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==}
engines: {node: '>=14'}
[email protected]:
resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
engines: {node: '>= 0.8'}
@@ -1970,6 +2050,13 @@ packages:
resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==}
engines: {node: '>= 18'}
[email protected]:
resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==}
[email protected]:
resolution: {integrity: sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==}
engines: {node: '>=8.0.0'}
[email protected]:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
@@ -2062,6 +2149,13 @@ packages:
resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
engines: {node: '>= 0.4'}
[email protected]:
resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==}
[email protected]:
resolution: {integrity: sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==}
hasBin: true
[email protected]:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
engines: {node: '>=10.13.0'}
@@ -2190,6 +2284,10 @@ packages:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
[email protected]:
resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
hasBin: true
[email protected]:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
@@ -2421,12 +2519,20 @@ packages:
[email protected]:
resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==}
[email protected]:
resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==}
[email protected]:
resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==}
[email protected]:
resolution: {integrity: sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==}
[email protected]:
resolution: {integrity: sha512-1TvCKjZyyklN+JJj2TS3P4uSQEInrM/HkkuSXsEzm1ApPgBffOn8gFguNnZf07r/1X6vlryfIqMUkJKQMzlZiw==}
engines: {node: '>=18'}
hasBin: true
[email protected]:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
@@ -2435,6 +2541,9 @@ packages:
resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
engines: {node: '>= 0.4'}
[email protected]:
resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==}
[email protected]:
resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
engines: {node: '>= 0.8'}
@@ -2503,6 +2612,9 @@ packages:
resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==}
engines: {node: '>= 14.16'}
[email protected]:
resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
[email protected]:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
@@ -2514,6 +2626,9 @@ packages:
resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
engines: {node: '>=12'}
[email protected]:
resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==}
[email protected]:
resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
engines: {node: '>=4'}
@@ -2543,6 +2658,16 @@ packages:
resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
[email protected]:
resolution: {integrity: sha512-XTKeKxtQElcq3U9/jHyxSPgiRgeYDKxWTPOf6NkXA0dNj5j40MfEsZkMbyNpwDWCUv7YBFUl7I2VK/6ALbmhEg==}
engines: {node: '>=18.18'}
hasBin: true
peerDependencies:
typescript: '>=5.1.0'
peerDependenciesMeta:
typescript:
optional: true
[email protected]:
resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
engines: {node: '>= 0.10'}
@@ -2551,6 +2676,9 @@ packages:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
[email protected]:
resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==}
[email protected]:
resolution: {integrity: sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==}
engines: {node: '>=0.6'}
@@ -2566,6 +2694,9 @@ packages:
resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==}
engines: {node: '>= 0.10'}
[email protected]:
resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==}
[email protected]:
resolution: {integrity: sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==}
peerDependencies:
@@ -2605,6 +2736,9 @@ packages:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
[email protected]:
resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
[email protected]:
resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
engines: {node: '>=8'}
@@ -2831,6 +2965,10 @@ packages:
[email protected]:
resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
[email protected]:
resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==}
engines: {node: '>=18'}
[email protected]:
resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
engines: {node: '>=12.0.0'}
@@ -2887,6 +3025,11 @@ packages:
[email protected]:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
[email protected]:
resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==}
engines: {node: '>=18.0.0'}
hasBin: true
[email protected]:
resolution: {integrity: sha512-N7f4PYqz25yk8c5kituk09bJ89tE4wPPqKXgYccT6nbEQnGnrdvlyCHLyqViNObTgjjrddqjb1hmDkv7VcxE0g==}
cpu: [x64]
@@ -3461,9 +3604,9 @@ snapshots:
'@esbuild/[email protected]':
optional: true
'@eslint-community/[email protected]([email protected])':
'@eslint-community/[email protected]([email protected]([email protected]))':
dependencies:
eslint: 9.39.2
eslint: 9.39.2([email protected])
eslint-visitor-keys: 3.4.3
'@eslint-community/[email protected]': {}
@@ -3904,6 +4047,41 @@ snapshots:
'@pkgr/[email protected]': {}
'@prisma/[email protected]([email protected]([email protected]))([email protected])':
optionalDependencies:
prisma: 6.19.2([email protected])
typescript: 5.9.3
'@prisma/[email protected]':
dependencies:
c12: 3.1.0
deepmerge-ts: 7.1.5
effect: 3.18.4
empathic: 2.0.0
transitivePeerDependencies:
- magicast
'@prisma/[email protected]': {}
'@prisma/[email protected]': {}
'@prisma/[email protected]':
dependencies:
'@prisma/debug': 6.19.2
'@prisma/engines-version': 7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7
'@prisma/fetch-engine': 6.19.2
'@prisma/get-platform': 6.19.2
'@prisma/[email protected]':
dependencies:
'@prisma/debug': 6.19.2
'@prisma/engines-version': 7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7
'@prisma/get-platform': 6.19.2
'@prisma/[email protected]':
dependencies:
'@prisma/debug': 6.19.2
'@rolldown/[email protected]': {}
'@rollup/[email protected]([email protected])':
@@ -3989,6 +4167,8 @@ snapshots:
'@rollup/[email protected]':
optional: true
'@standard-schema/[email protected]': {}
'@swc/[email protected]':
optional: true
@@ -4177,15 +4357,15 @@ snapshots:
'@types/http-errors': 2.0.5
'@types/node': 22.19.7
'@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])':
'@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected])':
dependencies:
'@eslint-community/regexpp': 4.12.2
'@typescript-eslint/parser': 8.54.0([email protected])([email protected])
'@typescript-eslint/parser': 8.54.0([email protected]([email protected]))([email protected])
'@typescript-eslint/scope-manager': 8.54.0
'@typescript-eslint/type-utils': 8.54.0([email protected])([email protected])
'@typescript-eslint/utils': 8.54.0([email protected])([email protected])
'@typescript-eslint/type-utils': 8.54.0([email protected]([email protected]))([email protected])
'@typescript-eslint/utils': 8.54.0([email protected]([email protected]))([email protected])
'@typescript-eslint/visitor-keys': 8.54.0
eslint: 9.39.2
eslint: 9.39.2([email protected])
ignore: 7.0.5
natural-compare: 1.4.0
ts-api-utils: 2.4.0([email protected])
@@ -4193,14 +4373,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/[email protected]([email protected])([email protected])':
'@typescript-eslint/[email protected]([email protected]([email protected]))([email protected])':
dependencies:
'@typescript-eslint/scope-manager': 8.54.0
'@typescript-eslint/types': 8.54.0
'@typescript-eslint/typescript-estree': 8.54.0([email protected])
'@typescript-eslint/visitor-keys': 8.54.0
debug: 4.4.3
eslint: 9.39.2
eslint: 9.39.2([email protected])
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
@@ -4223,13 +4403,13 @@ snapshots:
dependencies:
typescript: 5.9.3
'@typescript-eslint/[email protected]([email protected])([email protected])':
'@typescript-eslint/[email protected]([email protected]([email protected]))([email protected])':
dependencies:
'@typescript-eslint/types': 8.54.0
'@typescript-eslint/typescript-estree': 8.54.0([email protected])
'@typescript-eslint/utils': 8.54.0([email protected])([email protected])
'@typescript-eslint/utils': 8.54.0([email protected]([email protected]))([email protected])
debug: 4.4.3
eslint: 9.39.2
eslint: 9.39.2([email protected])
ts-api-utils: 2.4.0([email protected])
typescript: 5.9.3
transitivePeerDependencies:
@@ -4252,13 +4432,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/[email protected]([email protected])([email protected])':
'@typescript-eslint/[email protected]([email protected]([email protected]))([email protected])':
dependencies:
'@eslint-community/eslint-utils': 4.9.1([email protected])
'@eslint-community/eslint-utils': 4.9.1([email protected]([email protected]))
'@typescript-eslint/scope-manager': 8.54.0
'@typescript-eslint/types': 8.54.0
'@typescript-eslint/typescript-estree': 8.54.0([email protected])
eslint: 9.39.2
eslint: 9.39.2([email protected])
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
@@ -4268,7 +4448,7 @@ snapshots:
'@typescript-eslint/types': 8.54.0
eslint-visitor-keys: 4.2.1
'@vitejs/[email protected]([email protected](@types/[email protected])([email protected].0))':
'@vitejs/[email protected]([email protected](@types/[email protected])([email protected])([email protected])([email protected].0))':
dependencies:
'@babel/core': 7.28.6
'@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/[email protected])
@@ -4276,7 +4456,7 @@ snapshots:
'@rolldown/pluginutils': 1.0.0-beta.27
'@types/babel__core': 7.20.5
react-refresh: 0.17.0
vite: 7.3.1(@types/[email protected])([email protected].0)
vite: 7.3.1(@types/[email protected])([email protected])([email protected])([email protected].0)
transitivePeerDependencies:
- supports-color
@@ -4288,13 +4468,13 @@ snapshots:
chai: 5.3.3
tinyrainbow: 2.0.0
'@vitest/[email protected]([email protected](@types/[email protected])([email protected].0))':
'@vitest/[email protected]([email protected](@types/[email protected])([email protected])([email protected])([email protected].0))':
dependencies:
'@vitest/spy': 3.2.4
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
vite: 7.3.1(@types/[email protected])([email protected].0)
vite: 7.3.1(@types/[email protected])([email protected])([email protected])([email protected].0)
'@vitest/[email protected]':
dependencies:
@@ -4532,6 +4712,21 @@ snapshots:
[email protected]: {}
[email protected]:
dependencies:
chokidar: 4.0.3
confbox: 0.2.2
defu: 6.1.4
dotenv: 16.6.1
exsolve: 1.0.8
giget: 2.0.0
jiti: 2.6.1
ohash: 2.0.11
pathe: 2.0.3
perfect-debounce: 1.0.0
pkg-types: 2.3.0
rc9: 2.1.2
[email protected]: {}
[email protected]:
@@ -4571,6 +4766,12 @@ snapshots:
[email protected]: {}
[email protected]:
dependencies:
consola: 3.4.2
[email protected]: {}
[email protected]:
dependencies:
restore-cursor: 3.1.0
@@ -4614,6 +4815,8 @@ snapshots:
readable-stream: 3.6.2
typedarray: 0.0.6
[email protected]: {}
[email protected]: {}
[email protected]: {}
@@ -4672,16 +4875,22 @@ snapshots:
[email protected]: {}
[email protected]: {}
[email protected]: {}
[email protected]:
dependencies:
clone: 1.0.4
[email protected]: {}
[email protected]: {}
[email protected]: {}
[email protected]: {}
[email protected]:
optional: true
@@ -4689,6 +4898,8 @@ snapshots:
[email protected]: {}
[email protected]: {}
[email protected]:
dependencies:
call-bind-apply-helpers: 1.0.2
@@ -4697,10 +4908,17 @@ snapshots:
[email protected]: {}
[email protected]:
dependencies:
'@standard-schema/spec': 1.1.0
fast-check: 3.23.2
[email protected]: {}
[email protected]: {}
[email protected]: {}
[email protected]: {}
[email protected]:
@@ -4761,19 +4979,19 @@ snapshots:
[email protected]: {}
[email protected]([email protected]):
[email protected]([email protected]([email protected])):
dependencies:
eslint: 9.39.2
eslint: 9.39.2([email protected])
[email protected](@types/[email protected])([email protected]([email protected]))([email protected])([email protected]):
[email protected](@types/[email protected])([email protected]([email protected]([email protected])))([email protected]([email protected]))([email protected]):
dependencies:
eslint: 9.39.2
eslint: 9.39.2([email protected])
prettier: 3.8.1
prettier-linter-helpers: 1.0.1
synckit: 0.11.12
optionalDependencies:
'@types/eslint': 9.6.1
eslint-config-prettier: 10.1.8([email protected])
eslint-config-prettier: 10.1.8([email protected]([email protected]))
[email protected]:
dependencies:
@@ -4789,9 +5007,9 @@ snapshots:
[email protected]: {}
[email protected]:
[email protected]([email protected]):
dependencies:
'@eslint-community/eslint-utils': 4.9.1([email protected])
'@eslint-community/eslint-utils': 4.9.1([email protected]([email protected]))
'@eslint-community/regexpp': 4.12.2
'@eslint/config-array': 0.21.1
'@eslint/config-helpers': 0.4.2
@@ -4825,6 +5043,8 @@ snapshots:
minimatch: 3.1.2
natural-compare: 1.4.0
optionator: 0.9.4
optionalDependencies:
jiti: 2.6.1
transitivePeerDependencies:
- supports-color
@@ -4895,6 +5115,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
[email protected]: {}
[email protected]:
dependencies:
pure-rand: 6.1.0
[email protected]: {}
[email protected]: {}
@@ -5001,6 +5227,19 @@ snapshots:
dunder-proto: 1.0.1
es-object-atoms: 1.1.1
[email protected]:
dependencies:
resolve-pkg-maps: 1.0.0
[email protected]:
dependencies:
citty: 0.1.6
consola: 3.4.2
defu: 6.1.4
node-fetch-native: 1.6.7
nypm: 0.6.4
pathe: 2.0.3
[email protected]:
dependencies:
is-glob: 4.0.3
@@ -5108,6 +5347,8 @@ snapshots:
merge-stream: 2.0.0
supports-color: 8.1.1
[email protected]: {}
[email protected]: {}
[email protected]: {}
@@ -5317,14 +5558,24 @@ snapshots:
dependencies:
lodash: 4.17.23
[email protected]: {}
[email protected]: {}
[email protected]: {}
[email protected]:
dependencies:
citty: 0.2.0
pathe: 2.0.3
tinyexec: 1.0.2
[email protected]: {}
[email protected]: {}
[email protected]: {}
[email protected]:
dependencies:
ee-first: 1.1.1
@@ -5400,12 +5651,20 @@ snapshots:
[email protected]: {}
[email protected]: {}
[email protected]: {}
[email protected]: {}
[email protected]: {}
[email protected]:
dependencies:
confbox: 0.2.2
exsolve: 1.0.8
pathe: 2.0.3
[email protected]: {}
[email protected]:
@@ -5434,6 +5693,15 @@ snapshots:
ansi-styles: 5.2.0
react-is: 17.0.2
[email protected]([email protected]):
dependencies:
'@prisma/config': 6.19.2
'@prisma/engines': 6.19.2
optionalDependencies:
typescript: 5.9.3
transitivePeerDependencies:
- magicast
[email protected]:
dependencies:
forwarded: 0.2.0
@@ -5441,6 +5709,8 @@ snapshots:
[email protected]: {}
[email protected]: {}
[email protected]:
dependencies:
side-channel: 1.1.0
@@ -5458,6 +5728,11 @@ snapshots:
iconv-lite: 0.7.2
unpipe: 1.0.0
[email protected]:
dependencies:
defu: 6.1.4
destr: 2.0.5
[email protected]([email protected]):
dependencies:
react: 19.2.4
@@ -5488,6 +5763,8 @@ snapshots:
[email protected]: {}
[email protected]: {}
[email protected]:
dependencies:
onetime: 5.1.2
@@ -5770,6 +6047,8 @@ snapshots:
[email protected]: {}
[email protected]: {}
[email protected]:
dependencies:
fdir: 6.5.0([email protected])
@@ -5822,6 +6101,13 @@ snapshots:
[email protected]: {}
[email protected]:
dependencies:
esbuild: 0.27.2
get-tsconfig: 4.13.0
optionalDependencies:
fsevents: 2.3.3
[email protected]:
optional: true
@@ -5866,13 +6152,13 @@ snapshots:
[email protected]: {}
[email protected]([email protected])([email protected]):
[email protected]([email protected]([email protected]))([email protected]):
dependencies:
'@typescript-eslint/eslint-plugin': 8.54.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
'@typescript-eslint/parser': 8.54.0([email protected])([email protected])
'@typescript-eslint/eslint-plugin': 8.54.0(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected])
'@typescript-eslint/parser': 8.54.0([email protected]([email protected]))([email protected])
'@typescript-eslint/typescript-estree': 8.54.0([email protected])
'@typescript-eslint/utils': 8.54.0([email protected])([email protected])
eslint: 9.39.2
'@typescript-eslint/utils': 8.54.0([email protected]([email protected]))([email protected])
eslint: 9.39.2([email protected])
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
@@ -5921,13 +6207,13 @@ snapshots:
[email protected]: {}
[email protected](@types/[email protected])([email protected].0):
[email protected](@types/[email protected])([email protected])([email protected])([email protected].0):
dependencies:
cac: 6.7.14
debug: 4.4.3
es-module-lexer: 1.7.0
pathe: 2.0.3
vite: 7.3.1(@types/[email protected])([email protected].0)
vite: 7.3.1(@types/[email protected])([email protected])([email protected])([email protected].0)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -5942,7 +6228,7 @@ snapshots:
- tsx
- yaml
[email protected](@types/[email protected])([email protected].0):
[email protected](@types/[email protected])([email protected])([email protected])([email protected].0):
dependencies:
esbuild: 0.27.2
fdir: 6.5.0([email protected])
@@ -5953,13 +6239,15 @@ snapshots:
optionalDependencies:
'@types/node': 22.19.7
fsevents: 2.3.3
jiti: 2.6.1
terser: 5.46.0
tsx: 4.21.0
[email protected](@types/[email protected])([email protected])([email protected]):
[email protected](@types/[email protected])([email protected])([email protected])([email protected])([email protected]):
dependencies:
'@types/chai': 5.2.3
'@vitest/expect': 3.2.4
'@vitest/mocker': 3.2.4([email protected](@types/[email protected])([email protected].0))
'@vitest/mocker': 3.2.4([email protected](@types/[email protected])([email protected])([email protected])([email protected].0))
'@vitest/pretty-format': 3.2.4
'@vitest/runner': 3.2.4
'@vitest/snapshot': 3.2.4
@@ -5977,8 +6265,8 @@ snapshots:
tinyglobby: 0.2.15
tinypool: 1.1.1
tinyrainbow: 2.0.0
vite: 7.3.1(@types/[email protected])([email protected].0)
vite-node: 3.2.4(@types/[email protected])([email protected].0)
vite: 7.3.1(@types/[email protected])([email protected])([email protected])([email protected].0)
vite-node: 3.2.4(@types/[email protected])([email protected])([email protected])([email protected].0)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 22.19.7