diff --git a/package.json b/package.json index 4cccabd..acaa0c4 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,8 @@ "lucide-svelte": "^0.454.0", "nodemailer": "^6.9.16", "oslo": "^1.2.1", + "socket.io": "^4.8.1", + "socket.io-client": "^4.8.1", "svelte-i18n": "^4.0.1", "ws": "^8.18.0", "youtube-transcript": "^1.2.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ee7bb27..2884467 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,16 +25,22 @@ importers: version: 3.2.2 lucide-svelte: specifier: ^0.454.0 - version: 0.454.0(svelte@5.1.4) + version: 0.454.0(svelte@5.1.6) nodemailer: specifier: ^6.9.16 version: 6.9.16 oslo: specifier: ^1.2.1 version: 1.2.1 + socket.io: + specifier: ^4.8.1 + version: 4.8.1 + socket.io-client: + specifier: ^4.8.1 + version: 4.8.1 svelte-i18n: specifier: ^4.0.1 - version: 4.0.1(svelte@5.1.4) + version: 4.0.1(svelte@5.1.6) ws: specifier: ^8.18.0 version: 8.18.0 @@ -47,16 +53,16 @@ importers: devDependencies: '@sveltejs/adapter-auto': specifier: ^3.0.0 - version: 3.3.1(@sveltejs/kit@2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4)))(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4))) + version: 3.3.1(@sveltejs/kit@2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5)))(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5))) '@sveltejs/adapter-node': specifier: ^5.2.9 - version: 5.2.9(@sveltejs/kit@2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4)))(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4))) + version: 5.2.9(@sveltejs/kit@2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5)))(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5))) '@sveltejs/kit': specifier: ^2.0.0 - version: 2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4)))(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4)) + version: 2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5)))(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5)) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.0 - version: 4.0.0(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4)) + version: 4.0.0(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5)) '@types/eslint': specifier: ^9.6.0 version: 9.6.1 @@ -71,7 +77,7 @@ importers: version: 10.4.20(postcss@8.4.47) bits-ui: specifier: ^0.21.16 - version: 0.21.16(svelte@5.1.4) + version: 0.21.16(svelte@5.1.6) clsx: specifier: ^2.1.1 version: 2.1.1 @@ -83,37 +89,37 @@ importers: version: 9.1.0(eslint@9.13.0(jiti@1.21.6)) eslint-plugin-svelte: specifier: ^2.36.0 - version: 2.46.0(eslint@9.13.0(jiti@1.21.6))(svelte@5.1.4) + version: 2.46.0(eslint@9.13.0(jiti@1.21.6))(svelte@5.1.6) globals: specifier: ^15.0.0 version: 15.11.0 mode-watcher: specifier: ^0.4.1 - version: 0.4.1(svelte@5.1.4) + version: 0.4.1(svelte@5.1.6) prettier: specifier: ^3.3.2 version: 3.3.3 prettier-plugin-svelte: specifier: ^3.2.6 - version: 3.2.7(prettier@3.3.3)(svelte@5.1.4) + version: 3.2.7(prettier@3.3.3)(svelte@5.1.6) prettier-plugin-tailwindcss: specifier: ^0.6.5 - version: 0.6.8(prettier-plugin-svelte@3.2.7(prettier@3.3.3)(svelte@5.1.4))(prettier@3.3.3) + version: 0.6.8(prettier-plugin-svelte@3.2.7(prettier@3.3.3)(svelte@5.1.6))(prettier@3.3.3) prisma: specifier: ^5.21.1 version: 5.21.1 svelte: specifier: ^5.0.0 - version: 5.1.4 + version: 5.1.6 svelte-check: specifier: ^4.0.0 - version: 4.0.5(picomatch@4.0.2)(svelte@5.1.4)(typescript@5.6.3) + version: 4.0.5(picomatch@4.0.2)(svelte@5.1.6)(typescript@5.6.3) svelte-radix: specifier: ^2.0.1 - version: 2.0.1(svelte@5.1.4) + version: 2.0.1(svelte@5.1.6) svelte-sonner: specifier: ^0.3.28 - version: 0.3.28(svelte@5.1.4) + version: 0.3.28(svelte@5.1.6) tailwind-merge: specifier: ^2.5.4 version: 2.5.4 @@ -131,7 +137,7 @@ importers: version: 8.12.2(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) vite: specifier: ^5.0.3 - version: 5.4.10(@types/node@22.8.4) + version: 5.4.10(@types/node@22.8.5) packages: @@ -896,6 +902,9 @@ packages: cpu: [x64] os: [win32] + '@socket.io/component-emitter@3.1.2': + resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} + '@sveltejs/adapter-auto@3.3.1': resolution: {integrity: sha512-5Sc7WAxYdL6q9j/+D0jJKjGREGlfIevDyHSQ2eNETHcB1TKlQWHcAo8AS8H1QdjNvSXpvOwNjykDUHPEAyGgdQ==} peerDependencies: @@ -936,9 +945,15 @@ packages: '@tybys/wasm-util@0.8.3': resolution: {integrity: sha512-Z96T/L6dUFFxgFJ+pQtkPpne9q7i6kIPYCFnQBHSgSPV9idTsKfIhCss0h5iM9irweZCatkrdeP8yi5uM1eX6Q==} + '@types/cookie@0.4.1': + resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} + '@types/cookie@0.6.0': resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} + '@types/cors@2.8.17': + resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} + '@types/eslint@9.6.1': resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} @@ -951,11 +966,11 @@ packages: '@types/node-fetch@2.6.11': resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} - '@types/node@18.19.61': - resolution: {integrity: sha512-z8fH66NcVkDzBItOao+Nyh0fiy7CYdxIyxnNCcZ60aY0I+EA/y4TSi/S/W9i8DIQvwVo7a0pgzAxmDeNnqrpkw==} + '@types/node@18.19.62': + resolution: {integrity: sha512-UOGhw+yZV/icyM0qohQVh3ktpY40Sp7tdTW7HxG3pTd7AiMrlFlAJNUrGK9t5mdW0+ViQcFV74zCSIx9ZJpncA==} - '@types/node@22.8.4': - resolution: {integrity: sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==} + '@types/node@22.8.5': + resolution: {integrity: sha512-5iYk6AMPtsMbkZqCO1UGF9W5L38twq11S2pYWkybGHH2ogPUvXWNlQqJBzuEZWKj/WRH+QTeiv6ySWqJtvIEgA==} '@types/nodemailer@6.4.16': resolution: {integrity: sha512-uz6hN6Pp0upXMcilM61CoKyjT7sskBoOWpptkjjJp8jIMlTdc3xG01U7proKkXzruMS4hS0zqtHNkNPFB20rKQ==} @@ -1027,6 +1042,10 @@ packages: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1102,6 +1121,10 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + base64id@2.0.0: + resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} + engines: {node: ^4.5.0 || >= 5.9} + binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} @@ -1134,8 +1157,8 @@ packages: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - caniuse-lite@1.0.30001675: - resolution: {integrity: sha512-/wV1bQwPrkLiQMjaJF5yUMVM/VdRPOCU8QZ+PmG6uW6DvYSrNY1bpwHI/3mOcUosLaJCzYDi5o91IQB51ft6cg==} + caniuse-lite@1.0.30001676: + resolution: {integrity: sha512-Qz6zwGCiPghQXGJvgQAem79esjitvJ+CxSbSQkW9H/UX5hg8XM88d4lp2W+MEQ81j+Hip58Il+jGVdazk1z9cw==} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -1182,6 +1205,14 @@ packages: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} + cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} + + cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -1240,6 +1271,17 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + engine.io-client@6.6.2: + resolution: {integrity: sha512-TAr+NKeoVTjEVW8P3iHguO1LO6RlUz9O5Y8o7EY0fU+gY1NYqas7NN3slpFtbXEsLMHk0h90fJMfKjRkQ0qUIw==} + + engine.io-parser@5.2.3: + resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} + engines: {node: '>=10.0.0'} + + engine.io@6.6.2: + resolution: {integrity: sha512-gmNvsYi9C8iErnZdVcJnvCpSKbWTt1E8+JZo8b+daLninywUWi5NQ5STSHZ9rFjFO7imNcvb8Pc5pe/wMR5xEw==} + engines: {node: '>=10.2.0'} + es5-ext@0.10.64: resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} engines: {node: '>=0.10'} @@ -1684,6 +1726,10 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + next-tick@1.1.0: resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} @@ -1985,6 +2031,21 @@ packages: resolution: {integrity: sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==} engines: {node: '>=18'} + socket.io-adapter@2.5.5: + resolution: {integrity: sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==} + + socket.io-client@4.8.1: + resolution: {integrity: sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==} + engines: {node: '>=10.0.0'} + + socket.io-parser@4.2.4: + resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} + engines: {node: '>=10.0.0'} + + socket.io@4.8.1: + resolution: {integrity: sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==} + engines: {node: '>=10.2.0'} + source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -2057,8 +2118,8 @@ packages: peerDependencies: svelte: ^3.0.0 || ^4.0.0 || ^5.0.0-next.1 - svelte@5.1.4: - resolution: {integrity: sha512-qgHDV7AyvBZa2pbf+V0tnvWrN1LKD8LdUsBkR/SSYVVN6zXexiXnOy5Pjcjft2y/2NJJVa8ORUHFVn3oiWCLVQ==} + svelte@5.1.6: + resolution: {integrity: sha512-bYS/DpkqXk0j5UZgiNXrEjZYPRZ4Ncd87w4KUSbcZGyojA0+i/Ls9OGUjETHmdLe8RcQ0G8SX/T0PypPpAA/ew==} engines: {node: '>=18'} tabbable@6.2.0: @@ -2106,8 +2167,8 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - ts-api-utils@1.3.0: - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + ts-api-utils@1.4.0: + resolution: {integrity: sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' @@ -2157,6 +2218,10 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + vite@5.4.10: resolution: {integrity: sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -2223,6 +2288,18 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} + ws@8.17.1: + resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + ws@8.18.0: resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} engines: {node: '>=10.0.0'} @@ -2235,6 +2312,10 @@ packages: utf-8-validate: optional: true + xmlhttprequest-ssl@2.1.2: + resolution: {integrity: sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==} + engines: {node: '>=0.4.0'} + yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} @@ -2536,7 +2617,7 @@ snapshots: '@prisma/client': 5.21.1(prisma@5.21.1) lucia: 3.2.2 - '@melt-ui/svelte@0.76.2(svelte@5.1.4)': + '@melt-ui/svelte@0.76.2(svelte@5.1.6)': dependencies: '@floating-ui/core': 1.6.8 '@floating-ui/dom': 1.6.12 @@ -2544,7 +2625,7 @@ snapshots: dequal: 2.0.3 focus-trap: 7.6.0 nanoid: 5.0.8 - svelte: 5.1.4 + svelte: 5.1.6 '@node-rs/argon2-android-arm-eabi@1.7.0': optional: true @@ -2825,22 +2906,24 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.24.3': optional: true - '@sveltejs/adapter-auto@3.3.1(@sveltejs/kit@2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4)))(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4)))': + '@socket.io/component-emitter@3.1.2': {} + + '@sveltejs/adapter-auto@3.3.1(@sveltejs/kit@2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5)))(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5)))': dependencies: - '@sveltejs/kit': 2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4)))(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4)) + '@sveltejs/kit': 2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5)))(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5)) import-meta-resolve: 4.1.0 - '@sveltejs/adapter-node@5.2.9(@sveltejs/kit@2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4)))(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4)))': + '@sveltejs/adapter-node@5.2.9(@sveltejs/kit@2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5)))(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5)))': dependencies: '@rollup/plugin-commonjs': 28.0.1(rollup@4.24.3) '@rollup/plugin-json': 6.1.0(rollup@4.24.3) '@rollup/plugin-node-resolve': 15.3.0(rollup@4.24.3) - '@sveltejs/kit': 2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4)))(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4)) + '@sveltejs/kit': 2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5)))(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5)) rollup: 4.24.3 - '@sveltejs/kit@2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4)))(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4))': + '@sveltejs/kit@2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5)))(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5))': dependencies: - '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4)) + '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5)) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.1.1 @@ -2852,29 +2935,29 @@ snapshots: sade: 1.8.1 set-cookie-parser: 2.7.1 sirv: 3.0.0 - svelte: 5.1.4 + svelte: 5.1.6 tiny-glob: 0.2.9 - vite: 5.4.10(@types/node@22.8.4) + vite: 5.4.10(@types/node@22.8.5) - '@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4)))(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4))': + '@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5)))(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5))': dependencies: - '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4)) + '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5)) debug: 4.3.7 - svelte: 5.1.4 - vite: 5.4.10(@types/node@22.8.4) + svelte: 5.1.6 + vite: 5.4.10(@types/node@22.8.5) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4))': + '@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4)))(svelte@5.1.4)(vite@5.4.10(@types/node@22.8.4)) + '@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5)))(svelte@5.1.6)(vite@5.4.10(@types/node@22.8.5)) debug: 4.3.7 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.12 - svelte: 5.1.4 - vite: 5.4.10(@types/node@22.8.4) - vitefu: 1.0.3(vite@5.4.10(@types/node@22.8.4)) + svelte: 5.1.6 + vite: 5.4.10(@types/node@22.8.5) + vitefu: 1.0.3(vite@5.4.10(@types/node@22.8.5)) transitivePeerDependencies: - supports-color @@ -2887,8 +2970,14 @@ snapshots: tslib: 2.8.0 optional: true + '@types/cookie@0.4.1': {} + '@types/cookie@0.6.0': {} + '@types/cors@2.8.17': + dependencies: + '@types/node': 22.8.5 + '@types/eslint@9.6.1': dependencies: '@types/estree': 1.0.6 @@ -2900,26 +2989,26 @@ snapshots: '@types/node-fetch@2.6.11': dependencies: - '@types/node': 18.19.61 + '@types/node': 18.19.62 form-data: 4.0.1 - '@types/node@18.19.61': + '@types/node@18.19.62': dependencies: undici-types: 5.26.5 - '@types/node@22.8.4': + '@types/node@22.8.5': dependencies: undici-types: 6.19.8 '@types/nodemailer@6.4.16': dependencies: - '@types/node': 22.8.4 + '@types/node': 22.8.5 '@types/resolve@1.20.2': {} '@types/ws@8.5.12': dependencies: - '@types/node': 22.8.4 + '@types/node': 22.8.5 '@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: @@ -2933,7 +3022,7 @@ snapshots: graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.6.3) + ts-api-utils: 1.4.0(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -2962,7 +3051,7 @@ snapshots: '@typescript-eslint/typescript-estree': 8.12.2(typescript@5.6.3) '@typescript-eslint/utils': 8.12.2(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) debug: 4.3.7 - ts-api-utils: 1.3.0(typescript@5.6.3) + ts-api-utils: 1.4.0(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -2980,7 +3069,7 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.3) + ts-api-utils: 1.4.0(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -3006,6 +3095,11 @@ snapshots: dependencies: event-target-shim: 5.0.1 + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + acorn-jsx@5.3.2(acorn@8.14.0): dependencies: acorn: 8.14.0 @@ -3061,7 +3155,7 @@ snapshots: autoprefixer@10.4.20(postcss@8.4.47): dependencies: browserslist: 4.24.2 - caniuse-lite: 1.0.30001675 + caniuse-lite: 1.0.30001676 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 @@ -3072,14 +3166,16 @@ snapshots: balanced-match@1.0.2: {} + base64id@2.0.0: {} + binary-extensions@2.3.0: {} - bits-ui@0.21.16(svelte@5.1.4): + bits-ui@0.21.16(svelte@5.1.6): dependencies: '@internationalized/date': 3.5.6 - '@melt-ui/svelte': 0.76.2(svelte@5.1.4) + '@melt-ui/svelte': 0.76.2(svelte@5.1.6) nanoid: 5.0.8 - svelte: 5.1.4 + svelte: 5.1.6 brace-expansion@1.1.11: dependencies: @@ -3096,7 +3192,7 @@ snapshots: browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001675 + caniuse-lite: 1.0.30001676 electron-to-chromium: 1.5.49 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -3105,7 +3201,7 @@ snapshots: camelcase-css@2.0.1: {} - caniuse-lite@1.0.30001675: {} + caniuse-lite@1.0.30001676: {} chalk@4.1.2: dependencies: @@ -3156,6 +3252,13 @@ snapshots: cookie@0.6.0: {} + cookie@0.7.2: {} + + cors@2.8.5: + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + cross-spawn@7.0.3: dependencies: path-key: 3.1.1 @@ -3195,6 +3298,37 @@ snapshots: emoji-regex@9.2.2: {} + engine.io-client@6.6.2: + dependencies: + '@socket.io/component-emitter': 3.1.2 + debug: 4.3.7 + engine.io-parser: 5.2.3 + ws: 8.17.1 + xmlhttprequest-ssl: 2.1.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + engine.io-parser@5.2.3: {} + + engine.io@6.6.2: + dependencies: + '@types/cookie': 0.4.1 + '@types/cors': 2.8.17 + '@types/node': 22.8.5 + accepts: 1.3.8 + base64id: 2.0.0 + cookie: 0.7.2 + cors: 2.8.5 + debug: 4.3.7 + engine.io-parser: 5.2.3 + ws: 8.17.1 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + es5-ext@0.10.64: dependencies: es6-iterator: 2.0.3 @@ -3285,7 +3419,7 @@ snapshots: dependencies: eslint: 9.13.0(jiti@1.21.6) - eslint-plugin-svelte@2.46.0(eslint@9.13.0(jiti@1.21.6))(svelte@5.1.4): + eslint-plugin-svelte@2.46.0(eslint@9.13.0(jiti@1.21.6))(svelte@5.1.6): dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0(jiti@1.21.6)) '@jridgewell/sourcemap-codec': 1.5.0 @@ -3298,9 +3432,9 @@ snapshots: postcss-safe-parser: 6.0.0(postcss@8.4.47) postcss-selector-parser: 6.1.2 semver: 7.6.3 - svelte-eslint-parser: 0.43.0(svelte@5.1.4) + svelte-eslint-parser: 0.43.0(svelte@5.1.6) optionalDependencies: - svelte: 5.1.4 + svelte: 5.1.6 transitivePeerDependencies: - ts-node @@ -3514,7 +3648,7 @@ snapshots: groq-sdk@0.7.0: dependencies: - '@types/node': 18.19.61 + '@types/node': 18.19.62 '@types/node-fetch': 2.6.11 abort-controller: 3.0.0 agentkeepalive: 4.5.0 @@ -3640,9 +3774,9 @@ snapshots: '@oslojs/crypto': 1.0.1 '@oslojs/encoding': 1.1.0 - lucide-svelte@0.454.0(svelte@5.1.4): + lucide-svelte@0.454.0(svelte@5.1.6): dependencies: - svelte: 5.1.4 + svelte: 5.1.6 magic-string@0.30.12: dependencies: @@ -3692,9 +3826,9 @@ snapshots: minipass@7.1.2: {} - mode-watcher@0.4.1(svelte@5.1.4): + mode-watcher@0.4.1(svelte@5.1.6): dependencies: - svelte: 5.1.4 + svelte: 5.1.6 mri@1.2.0: {} @@ -3714,6 +3848,8 @@ snapshots: natural-compare@1.4.0: {} + negotiator@0.6.3: {} + next-tick@1.1.0: {} node-domexception@1.0.0: {} @@ -3837,16 +3973,16 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-svelte@3.2.7(prettier@3.3.3)(svelte@5.1.4): + prettier-plugin-svelte@3.2.7(prettier@3.3.3)(svelte@5.1.6): dependencies: prettier: 3.3.3 - svelte: 5.1.4 + svelte: 5.1.6 - prettier-plugin-tailwindcss@0.6.8(prettier-plugin-svelte@3.2.7(prettier@3.3.3)(svelte@5.1.4))(prettier@3.3.3): + prettier-plugin-tailwindcss@0.6.8(prettier-plugin-svelte@3.2.7(prettier@3.3.3)(svelte@5.1.6))(prettier@3.3.3): dependencies: prettier: 3.3.3 optionalDependencies: - prettier-plugin-svelte: 3.2.7(prettier@3.3.3)(svelte@5.1.4) + prettier-plugin-svelte: 3.2.7(prettier@3.3.3)(svelte@5.1.6) prettier@3.3.3: {} @@ -3930,6 +4066,47 @@ snapshots: mrmime: 2.0.0 totalist: 3.0.1 + socket.io-adapter@2.5.5: + dependencies: + debug: 4.3.7 + ws: 8.17.1 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + socket.io-client@4.8.1: + dependencies: + '@socket.io/component-emitter': 3.1.2 + debug: 4.3.7 + engine.io-client: 6.6.2 + socket.io-parser: 4.2.4 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + socket.io-parser@4.2.4: + dependencies: + '@socket.io/component-emitter': 3.1.2 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + + socket.io@4.8.1: + dependencies: + accepts: 1.3.8 + base64id: 2.0.0 + cors: 2.8.5 + debug: 4.3.7 + engine.io: 6.6.2 + socket.io-adapter: 2.5.5 + socket.io-parser: 4.2.4 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + source-map-js@1.2.1: {} string-width@4.2.3: @@ -3970,19 +4147,19 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.0.5(picomatch@4.0.2)(svelte@5.1.4)(typescript@5.6.3): + svelte-check@4.0.5(picomatch@4.0.2)(svelte@5.1.6)(typescript@5.6.3): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 4.0.1 fdir: 6.4.2(picomatch@4.0.2) picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.1.4 + svelte: 5.1.6 typescript: 5.6.3 transitivePeerDependencies: - picomatch - svelte-eslint-parser@0.43.0(svelte@5.1.4): + svelte-eslint-parser@0.43.0(svelte@5.1.6): dependencies: eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 @@ -3990,9 +4167,9 @@ snapshots: postcss: 8.4.47 postcss-scss: 4.0.9(postcss@8.4.47) optionalDependencies: - svelte: 5.1.4 + svelte: 5.1.6 - svelte-i18n@4.0.1(svelte@5.1.4): + svelte-i18n@4.0.1(svelte@5.1.6): dependencies: cli-color: 2.0.4 deepmerge: 4.3.1 @@ -4000,18 +4177,18 @@ snapshots: estree-walker: 2.0.2 intl-messageformat: 10.7.3 sade: 1.8.1 - svelte: 5.1.4 + svelte: 5.1.6 tiny-glob: 0.2.9 - svelte-radix@2.0.1(svelte@5.1.4): + svelte-radix@2.0.1(svelte@5.1.6): dependencies: - svelte: 5.1.4 + svelte: 5.1.6 - svelte-sonner@0.3.28(svelte@5.1.4): + svelte-sonner@0.3.28(svelte@5.1.6): dependencies: - svelte: 5.1.4 + svelte: 5.1.6 - svelte@5.1.4: + svelte@5.1.6: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 @@ -4091,7 +4268,7 @@ snapshots: tr46@0.0.3: {} - ts-api-utils@1.3.0(typescript@5.6.3): + ts-api-utils@1.4.0(typescript@5.6.3): dependencies: typescript: 5.6.3 @@ -4134,18 +4311,20 @@ snapshots: util-deprecate@1.0.2: {} - vite@5.4.10(@types/node@22.8.4): + vary@1.1.2: {} + + vite@5.4.10(@types/node@22.8.5): dependencies: esbuild: 0.21.5 postcss: 8.4.47 rollup: 4.24.3 optionalDependencies: - '@types/node': 22.8.4 + '@types/node': 22.8.5 fsevents: 2.3.3 - vitefu@1.0.3(vite@5.4.10(@types/node@22.8.4)): + vitefu@1.0.3(vite@5.4.10(@types/node@22.8.5)): optionalDependencies: - vite: 5.4.10(@types/node@22.8.4) + vite: 5.4.10(@types/node@22.8.5) web-streams-polyfill@4.0.0-beta.3: {} @@ -4174,8 +4353,12 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 + ws@8.17.1: {} + ws@8.18.0: {} + xmlhttprequest-ssl@2.1.2: {} + yaml@1.10.2: {} yaml@2.6.0: {} diff --git a/src/lib/server/socket.ts b/src/lib/server/socket.ts index f51c553..8d3cd32 100644 --- a/src/lib/server/socket.ts +++ b/src/lib/server/socket.ts @@ -1,4 +1,3 @@ -// src/lib/server/socket.ts import { Server } from 'socket.io'; import type { Server as HTTPServer } from 'http'; import { Groq } from 'groq-sdk'; diff --git a/src/routes/(main)/dashboard/chat/[id]/+page.svelte b/src/routes/(main)/dashboard/chat/[id]/+page.svelte index b144f4b..8170994 100644 --- a/src/routes/(main)/dashboard/chat/[id]/+page.svelte +++ b/src/routes/(main)/dashboard/chat/[id]/+page.svelte @@ -18,14 +18,12 @@ let reconnectAttempts = 0; const MAX_RECONNECT_ATTEMPTS = 5; - // Chat-History State let chats = data.transcript.chats || []; function initializeSocket() { if (!browser) return; const isDev = import.meta.env.DEV; const socketPort = isDev ? ':3000' : ''; - console.log('Initializing socket connection...'); const socketUrl = `${window.location.protocol}//${window.location.hostname}${socketPort}`; socket = io(socketUrl, { path: '/api/socket.io',