chore(web): wire the workspace app into the build
- generate the whole public OpenAPI surface instead of the auth tag only - add the @app alias, an event/pages dev proxy and websocket upgrade - add runtime dependencies the migrated workspace needs (markdown, realtime, LiveKit media, emoji, socket.io) and keep vendored code out of Biome
ZhenYi committed
Modified biome.json biome.json +2 −1 View biome.json
@@ -12,7 +12,8 @@
1212 "!**/dist",
1313 "!**/node_modules",
1414 "!**/target",
15 "!packages/apiclient"
15 "!packages/apiclient",
16 "!view/app/src/vendor"
1617 ]
1718 },
1819 "formatter": {
Modified orval.config.ts orval.config.ts +0 −4 View orval.config.ts
@@ -1,13 +1,9 @@
11import { defineConfig } from 'orval'
22
3// 唯一的 OpenAPI 文档由 `cargo run -p app -- openapi` 生成到仓库根目录,
4// 这里只把登录前端真正使用的 auth 标签生成为 packages/apiclient 下的 fetch 客户端;
5// 其余业务操作不进入客户端,调用方也就看不到。
63export default defineConfig({
74 apiclient: {
85 input: {
96 target: './openapi.json',
10 filters: { mode: 'include', tags: ['auth'] },
117 },
128 output: {
139 target: './packages/apiclient/index.ts',
Modified package.json package.json +16 −1 View package.json
@@ -14,12 +14,27 @@
1414 "contract:check": "bash scripts/contract-check.sh"
1515 },
1616 "dependencies": {
17 "@floating-ui/dom": "^1.8.0",
1718 "@fontsource-variable/geist": "^5.3.0",
19 "@fontsource-variable/jetbrains-mono": "^5.3.0",
1820 "@fontsource-variable/noto-sans-sc": "^5.3.1",
21 "@livekit/protocol": "1.50.4",
1922 "@noble/hashes": "^2.4.0",
23 "clsx": "2.1.1",
24 "dompurify": "^3.4.17",
25 "emoji-picker-react": "^4.22.3",
26 "events": "^3.3.0",
27 "livekit-client": "2.22.3",
28 "loglevel": "^1.9.2",
2029 "lucide-react": "^1.66.0",
30 "marked": "^18.1.2",
2131 "react": "^19.3.1",
22 "react-dom": "^19.3.1"
32 "react-dom": "^19.3.1",
33 "react-router-dom": "^7.18.5",
34 "rxjs": "7.8.2",
35 "socket.io-client": "^4.8.4",
36 "typed-emitter": "^2.1.0",
37 "usehooks-ts": "3.1.1"
2338 },
2439 "devDependencies": {
2540 "@biomejs/biome": "^2.5.15",
Modified pnpm-lock.yaml pnpm-lock.yaml +378 −17 View pnpm-lock.yaml
@@ -8,24 +8,69 @@
88
99 .:
1010 dependencies:
11 '@floating-ui/dom':
12 specifier: ^1.8.0
13 version: 1.8.0
1114 '@fontsource-variable/geist':
1215 specifier: ^5.3.0
1316 version: 5.3.0
17 '@fontsource-variable/jetbrains-mono':
18 specifier: ^5.3.0
19 version: 5.3.0
1420 '@fontsource-variable/noto-sans-sc':
1521 specifier: ^5.3.1
1622 version: 5.3.1
23 '@livekit/protocol':
24 specifier: 1.50.4
25 version: 1.50.4
1726 '@noble/hashes':
1827 specifier: ^2.4.0
1928 version: 2.4.0
29 clsx:
30 specifier: 2.1.1
31 version: 2.1.1
32 dompurify:
33 specifier: ^3.4.17
34 version: 3.4.17
35 emoji-picker-react:
36 specifier: ^4.22.3
37 version: 4.22.3(react@19.3.1)
38 events:
39 specifier: ^3.3.0
40 version: 3.3.0
41 livekit-client:
42 specifier: 2.22.3
43 version: 2.22.3(@types/dom-mediacapture-record@1.0.22)
44 loglevel:
45 specifier: ^1.9.2
46 version: 1.9.2
2047 lucide-react:
2148 specifier: ^1.66.0
2249 version: 1.66.0(@types/react@19.3.0)(react@19.3.1)
50 marked:
51 specifier: ^18.1.2
52 version: 18.1.2
2353 react:
2454 specifier: ^19.3.1
2555 version: 19.3.1
2656 react-dom:
2757 specifier: ^19.3.1
2858 version: 19.3.1(react@19.3.1)
59 react-router-dom:
60 specifier: ^7.18.5
61 version: 7.18.5(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
62 rxjs:
63 specifier: 7.8.2
64 version: 7.8.2
65 socket.io-client:
66 specifier: ^4.8.4
67 version: 4.8.4
68 typed-emitter:
69 specifier: ^2.1.0
70 version: 2.1.0
71 usehooks-ts:
72 specifier: 3.1.1
73 version: 3.1.1(react@19.3.1)
2974 devDependencies:
3075 '@biomejs/biome':
3176 specifier: ^2.5.15
@@ -47,7 +92,7 @@
4792 version: 6.1.2(vite@8.3.4(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.1))
4893 orval:
4994 specifier: ^8.43.0
50 version: 8.43.0(prettier@3.9.10)(typescript@6.0.3)(zod@3.25.76)
95 version: 8.43.0(prettier@3.9.10)(typescript@6.0.3)(zod@4.6.7)
5196 prettier:
5297 specifier: ^3.6.2
5398 version: 3.9.10
@@ -117,6 +162,9 @@
117162 cpu: [x64]
118163 os: [win32]
119164
165 '@bufbuild/protobuf@1.10.1':
166 resolution: {integrity: sha512-wJ8ReQbHxsAfXhrf9ixl0aYbZorRuOWpBNzm8pL8ftmSxQx/wnJD5Eg861NwJU/czy2VXFIebCeZnZrI9rktIQ==}
167
120168 '@commander-js/extra-typings@15.0.0':
121169 resolution: {integrity: sha512-yeJlba62xqmkgELUsn7356MEnzLLu/fw2x4lofFqGnXh6YysRdEs2BaLeLtg1+KU0AXvMeqQvTTp+3hBEBK+EA==}
122170 peerDependencies:
@@ -278,9 +326,21 @@
278326 cpu: [x64]
279327 os: [win32]
280328
329 '@floating-ui/core@1.8.0':
330 resolution: {integrity: sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==}
331
332 '@floating-ui/dom@1.8.0':
333 resolution: {integrity: sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==}
334
335 '@floating-ui/utils@0.2.12':
336 resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==}
337
281338 '@fontsource-variable/geist@5.3.0':
282339 resolution: {integrity: sha512-j0m+vLQuG5XAYoHtGCVu0spvlGreR3EzpECUVzkFmI1mTVnAO38l/NEPDCFgZ177JxzYJCLSmTQibIiYPilGrA==}
283340
341 '@fontsource-variable/jetbrains-mono@5.3.0':
342 resolution: {integrity: sha512-F32xpS2NsGYoQi2ADSkKTgpJj7ozajsGgDJ8woTnqjmIB+dxDIqImjl4pXZVEExu8UFZ2ndhmX18EBS/hdz3Lw==}
343
284344 '@fontsource-variable/noto-sans-sc@5.3.1':
285345 resolution: {integrity: sha512-UB96JJ17HyD5ehEU7Em0hDdh7fvTMB4B4Hzmq5c4QaNwwSLqTrdM2S+coySeBqCkXwh0DxqXT0b0wMrmzorFpQ==}
286346
@@ -300,6 +360,12 @@
300360 '@jridgewell/trace-mapping@0.3.31':
301361 resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
302362
363 '@livekit/mutex@1.1.1':
364 resolution: {integrity: sha512-EsshAucklmpuUAfkABPxJNhzj9v2sG7JuzFDL4ML1oJQSV14sqrpTYnsaOudMAw9yOaW53NU3QQTlUQoRs4czw==}
365
366 '@livekit/protocol@1.50.4':
367 resolution: {integrity: sha512-L1uggNQAqyY21smQY8AllyOYbcv9Me9TaxwuLytL1R8ck9nbYPmQLNwEDi3pOFGAMa5F8I2nUi2Jc59W5awxlA==}
368
303369 '@noble/hashes@2.4.0':
304370 resolution: {integrity: sha512-X5XaVWZIBCT7HHZGm5I7ZQXDwLG+bGXuSrMQAW+7Zvl87h1kmc1ZB1VSRJcpUfoUrGQp4Fkoxm5kZ+Ms+aW+eA==}
305371 engines: {node: '>= 20.19.0'}
@@ -559,6 +625,9 @@
559625 resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==}
560626 engines: {node: '>=18'}
561627
628 '@socket.io/component-emitter@3.1.2':
629 resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==}
630
562631 '@tailwindcss/node@4.3.3':
563632 resolution: {integrity: sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg==}
564633
@@ -653,6 +722,9 @@
653722 peerDependencies:
654723 vite: ^5.2.0 || ^6 || ^7 || ^8
655724
725 '@types/dom-mediacapture-record@1.0.22':
726 resolution: {integrity: sha512-mUMZLK3NvwRLcAAT9qmcK+9p7tpU2FHdDsntR3YI4+GY88XrgG4XiE7u1Q2LAN2/FZOz/tdMDC3GQCR4T8nFuw==}
727
656728 '@types/node@24.19.2':
657729 resolution: {integrity: sha512-93d49wCWJkCyN87MxLpNN6KXPCwFw7bVUg79mGUV1OS40JGWwVCr8n61DXCSqz7CV6/VfPkb7xec7uP2M+QHWQ==}
658730
@@ -664,6 +736,9 @@
664736 '@types/react@19.3.0':
665737 resolution: {integrity: sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg==}
666738
739 '@types/trusted-types@2.0.7':
740 resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
741
667742 '@vitejs/plugin-react@6.1.2':
668743 resolution: {integrity: sha512-fhJNGUdscQa4HkI0xFxwonWyhnVReCPDbXI7FH7jmzpnVCrFQI7PRrhWecO263610vOrs9tr2Y4xcf8uAdFxbw==}
669744 engines: {node: ^20.19.0 || >=22.12.0}
@@ -706,6 +781,10 @@
706781 resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==}
707782 engines: {node: '>= 20.19.0'}
708783
784 clsx@2.1.1:
785 resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
786 engines: {node: '>=6'}
787
709788 commander@15.0.0:
710789 resolution: {integrity: sha512-z67u4ZhzCL/Tydu1lJARtEZYWbWaN7oYLHbsuzocr6y4N6WZAagG3RQ4FW61V1/0+jImpj293XfrcYnd1qxtPg==}
711790 engines: {node: '>=22.12.0'}
@@ -713,6 +792,10 @@
713792 compare-versions@6.1.1:
714793 resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==}
715794
795 cookie@1.1.1:
796 resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==}
797 engines: {node: '>=18'}
798
716799 cross-spawn@7.0.6:
717800 resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
718801 engines: {node: '>= 8'}
@@ -720,10 +803,35 @@
720803 csstype@3.2.3:
721804 resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
722805
806 debug@4.4.3:
807 resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
808 engines: {node: '>=6.0'}
809 peerDependencies:
810 supports-color: '*'
811 peerDependenciesMeta:
812 supports-color:
813 optional: true
814
723815 detect-libc@2.1.2:
724816 resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
725817 engines: {node: '>=8'}
726818
819 dompurify@3.4.17:
820 resolution: {integrity: sha512-B/pSlYVHQ58kqISD/yDjuJ1yfzI34m1gF4lAod2bwSRhiN4K5Cl3H8Af7hqB2PmTL911tdEudnnXn5FnhRoz0w==}
821
822 emoji-picker-react@4.22.3:
823 resolution: {integrity: sha512-jrAkkoN69l5lA2Xp6P5axqoK1YdHNS1+MKMlLxwltnnnaXrojUjZaolgI/U8vdx8vFWqG42yYqpLSR83f6pwiw==}
824 engines: {node: '>=10'}
825 peerDependencies:
826 react: '>=16.8'
827
828 engine.io-client@6.6.7:
829 resolution: {integrity: sha512-GyAvmPA7gnRCpDQbYACAy79Lg4ewevrmaPzySZz0OVvgyZc3gEfLLqPTYk8wVBScjOEpM9ZO4KryyFpVItjGEA==}
830
831 engine.io-parser@5.2.3:
832 resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==}
833 engines: {node: '>=10.0.0'}
834
727835 enhanced-resolve@5.26.0:
728836 resolution: {integrity: sha512-9vhedylFonb2YGogzUKX6+Ja72gOJbN1QHAqdrvqLwhdl/QWbKopzoUC9EbQNVsAns/bx/4uyqalrQAoy1IByw==}
729837 engines: {node: '>=10.13.0'}
@@ -737,6 +845,10 @@
737845 resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
738846 engines: {node: '>=0.10.0'}
739847
848 events@3.3.0:
849 resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
850 engines: {node: '>=0.8.x'}
851
740852 execa@9.6.1:
741853 resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==}
742854 engines: {node: ^18.19.0 || >=20.5.0}
@@ -798,6 +910,9 @@
798910 resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==}
799911 hasBin: true
800912
913 jose@6.2.14:
914 resolution: {integrity: sha512-3JasLuki1NRLQvY4wCoC37KZk4qxoBx2k2aFqLxT84IezqW0bkJKnNtxnZj/Fu1xsQivoc/lytxaRHJoGLjJ1A==}
915
801916 js-yaml@4.3.2:
802917 resolution: {integrity: sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==}
803918 hasBin: true
@@ -963,6 +1078,18 @@
9631078 resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==}
9641079 engines: {node: '>= 12.0.0'}
9651080
1081 livekit-client@2.22.3:
1082 resolution: {integrity: sha512-jw9zBKXY5Gtr5MZ7vEON3QhMNccuDvYHck1PFSyG1aaateQPqgKZFBMgZkFZaXHIf9RV4MDW5xpTK2b/+qbwOg==}
1083 peerDependencies:
1084 '@types/dom-mediacapture-record': ^1
1085
1086 lodash.debounce@4.0.8:
1087 resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
1088
1089 loglevel@1.9.2:
1090 resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==}
1091 engines: {node: '>= 0.6.0'}
1092
9661093 lucide-react@1.66.0:
9671094 resolution: {integrity: sha512-8zjbi/Us+ETXqfBwmXF/FHrWGIqOdE6zT1yUdRJLQVoptomSkB0zdFWVIM667t9K8djWDaXdkBkqi2qVTuDNiw==}
9681095 peerDependencies:
@@ -972,9 +1099,21 @@
9721099 '@types/react':
9731100 optional: true
9741101
1102 machina@7.0.1:
1103 resolution: {integrity: sha512-0Xkgs8NeBvO2hW6bjJT8ewLWrMfh1haMPstaghpASWjXkLjRhtDiaJG1Kb7mslaOHxZYxpH7PIjpmirRVYbMMA==}
1104 engines: {node: '>=22.22'}
1105
9751106 magic-string@0.30.21:
9761107 resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
9771108
1109 marked@18.1.2:
1110 resolution: {integrity: sha512-DfOnvLAQ6WYeWxWO1u4RyFOeqyHup6dks5PPqnoFiooU7ipRvidO/2j8plhAHIiZg574E9ZlzSjUiPMLAzFkgg==}
1111 engines: {node: '>= 20'}
1112 hasBin: true
1113
1114 ms@2.1.3:
1115 resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1116
9781117 nanoid@3.3.20:
9791118 resolution: {integrity: sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==}
9801119 engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -1045,6 +1184,23 @@
10451184 peerDependencies:
10461185 react: ^19.3.1
10471186
1187 react-router-dom@7.18.5:
1188 resolution: {integrity: sha512-9HcfDMU6JJ/fp6gJZYGwNE6RknVGS4kBjH1HkNw959mCJi70TVwdipQWv2FEol9uGpi+SZTFtVpJPtEQfayeOw==}
1189 engines: {node: '>=20.0.0'}
1190 peerDependencies:
1191 react: '>=18'
1192 react-dom: '>=18'
1193
1194 react-router@7.18.5:
1195 resolution: {integrity: sha512-dTgvcXDOrLPrlLHrcZAqWveiK1hMSqN+rGAJzegP8HtmNkfRxOoshGWBNX3ZJ0cZjOHkRdlUJtaIhZMLLyGyPw==}
1196 engines: {node: '>=20.0.0'}
1197 peerDependencies:
1198 react: '>=18'
1199 react-dom: '>=18'
1200 peerDependenciesMeta:
1201 react-dom:
1202 optional: true
1203
10481204 react@19.3.1:
10491205 resolution: {integrity: sha512-QNhWdt7nrgVWWQG58QuGsAR3jv3Hbe4mb4vz7w2csnHavciZJgda1CPNaldF6eVxv90ud3jUXpKlHL69gO38yw==}
10501206 engines: {node: '>=0.10.0'}
@@ -1065,9 +1221,22 @@
10651221 engines: {node: ^20.19.0 || >=22.12.0}
10661222 hasBin: true
10671223
1224 rxjs@7.8.2:
1225 resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==}
1226
10681227 scheduler@0.28.0:
10691228 resolution: {integrity: sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==}
10701229
1230 sdp-transform@2.15.0:
1231 resolution: {integrity: sha512-KrOH82c/W+GYQ0LHqtr3caRpM3ITglq3ljGUIb8LTki7ByacJZ9z+piSGiwZDsRyhQbYBOBJgr2k6X4BZXi3Kw==}
1232 hasBin: true
1233
1234 sdp@3.2.2:
1235 resolution: {integrity: sha512-xZocWwfyp4hkbN4hLWxMjmv2Q8aNa9MhmOZ7L9aCZPT+dZsgRr6wZRrSYE3HTdyk/2pZKPSgqI7ns7Een1xMSA==}
1236
1237 set-cookie-parser@2.7.3:
1238 resolution: {integrity: sha512-irZHtTqurLna57KQG/s+fzOwv/J6XSH4cs8M/vsrY3uCaQ3S6+QJguAH0WdN47SXlk82voMZ4naWMQf8fdEoIg==}
1239
10711240 shebang-command@2.0.0:
10721241 resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
10731242 engines: {node: '>=8'}
@@ -1076,10 +1245,21 @@
10761245 resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
10771246 engines: {node: '>=8'}
10781247
1248 shipstyles@1.0.0:
1249 resolution: {integrity: sha512-1AcihfXo/mSxqeOdoKqq/5TNv+vSH0dBYPFq88PUX5FBkK5pRmY5TP9SuMNio85PQ+euUI67+KpSVk1cUVDCgA==}
1250
10791251 signal-exit@4.1.0:
10801252 resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
10811253 engines: {node: '>=14'}
10821254
1255 socket.io-client@4.8.4:
1256 resolution: {integrity: sha512-7wjKAvVXYOJsbmUgkWbnhPD4bFpkqrUR0++XOjpGFmqDqsqV1CI93VTraeExLxpjxEqrWgFoSRZu1ihjLWfkAA==}
1257 engines: {node: '>=10.0.0'}
1258
1259 socket.io-parser@4.2.7:
1260 resolution: {integrity: sha512-IH/iSeO9T6gz1KkFleGDWkG9N3dl4jXVYUtMhIqH10Md0ttMer8nUNWiP1DKuNrybD2xBrixLJdCC9J6ECoYkg==}
1261 engines: {node: '>=10.0.0'}
1262
10831263 source-map-js@1.2.2:
10841264 resolution: {integrity: sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==}
10851265 engines: {node: '>=0.10.0'}
@@ -1107,10 +1287,19 @@
11071287 resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==}
11081288 engines: {node: '>=12.0.0'}
11091289
1290 tslib@2.8.1:
1291 resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
1292
1293 tslib@2.9.1:
1294 resolution: {integrity: sha512-a4Ux9VKuIMHsOS7ENbEq6hK2ZGYIT27Rtl0E4eD9KqwxhKiQeMZE/9xb3IdYwWaSOyIBQLExhQgXDTYoiCxnWA==}
1295
11101296 type-fest@5.10.0:
11111297 resolution: {integrity: sha512-NoSdpq/WEiAg5sjmBkmV/hfxv6HJH4NqPNrqjtSO5CwRmpsDfaf4begxW34KdJykH/l1yHtwBWQkCRdoXO8mPA==}
11121298 engines: {node: '>=20'}
11131299
1300 typed-emitter@2.1.0:
1301 resolution: {integrity: sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA==}
1302
11141303 typescript@6.0.3:
11151304 resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==}
11161305 engines: {node: '>=14.17'}
@@ -1131,6 +1320,12 @@
11311320 resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==}
11321321 engines: {node: '>=18'}
11331322
1323 usehooks-ts@3.1.1:
1324 resolution: {integrity: sha512-I4diPp9Cq6ieSUH2wu+fDAVQO43xwtulo+fKEidHUwZPnYImbtkTjzIJYcDcJqxgmX31GVqNFURodvcgHcW0pA==}
1325 engines: {node: '>=16.15.0'}
1326 peerDependencies:
1327 react: ^16.8.0 || ^17 || ^18 || ^19 || ^19.0.0-rc
1328
11341329 vite@8.3.4:
11351330 resolution: {integrity: sha512-IftLE8phJhdNRIGNEV4JCCvfNScoZQVfcXaN8TQropWGJtOHcu+iAB9pHcuGvmEb/kddw0LBe/jS8ztdC6xdiQ==}
11361331 engines: {node: ^20.19.0 || >=22.12.0}
@@ -1174,11 +1369,31 @@
11741369 yaml:
11751370 optional: true
11761371
1372 webrtc-adapter@9.0.6:
1373 resolution: {integrity: sha512-CHbl2ZQbxx164IgWRgzJno4hWtM4tFbRam1QfI3Yxhs3w/DvqluVxVWeXs3oL5/fbGkSNLKo0Ty5MgUWceNhog==}
1374 engines: {node: '>=6.0.0', npm: '>=3.10.0'}
1375
11771376 which@2.0.2:
11781377 resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
11791378 engines: {node: '>= 8'}
11801379 hasBin: true
11811380
1381 ws@8.21.3:
1382 resolution: {integrity: sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==}
1383 engines: {node: '>=10.0.0'}
1384 peerDependencies:
1385 bufferutil: ^4.0.1
1386 utf-8-validate: '>=5.0.2'
1387 peerDependenciesMeta:
1388 bufferutil:
1389 optional: true
1390 utf-8-validate:
1391 optional: true
1392
1393 xmlhttprequest-ssl@2.1.2:
1394 resolution: {integrity: sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==}
1395 engines: {node: '>=0.4.0'}
1396
11821397 yaml@2.9.1:
11831398 resolution: {integrity: sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==}
11841399 engines: {node: '>= 14.6'}
@@ -1188,9 +1403,6 @@
11881403 resolution: {integrity: sha512-xYqdZFUK/VYazNl/oCDYN+3WloWQwMfZxBoiNt6qNyk+xfOdi598muWE42rNZFp1kNOiqW936q5RhUdnpqElSg==}
11891404 engines: {node: '>=18'}
11901405
1191 zod@3.25.76:
1192 resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
1193
11941406 zod@4.6.7:
11951407 resolution: {integrity: sha512-g8W2D2kU6a8untc053fX1uVBKzM7yqAxW/3zwk83+6RyF2+SKOuV+c0wBDhUwzV1PaGapmZH+rmcUzPf+3CGwg==}
11961408
@@ -1231,6 +1443,8 @@
12311443 '@biomejs/cli-win32-x64@2.5.15':
12321444 optional: true
12331445
1446 '@bufbuild/protobuf@1.10.1': {}
1447
12341448 '@commander-js/extra-typings@15.0.0(commander@15.0.0)':
12351449 dependencies:
12361450 commander: 15.0.0
@@ -1313,8 +1527,21 @@
13131527 '@esbuild/win32-x64@0.28.2':
13141528 optional: true
13151529
1530 '@floating-ui/core@1.8.0':
1531 dependencies:
1532 '@floating-ui/utils': 0.2.12
1533
1534 '@floating-ui/dom@1.8.0':
1535 dependencies:
1536 '@floating-ui/core': 1.8.0
1537 '@floating-ui/utils': 0.2.12
1538
1539 '@floating-ui/utils@0.2.12': {}
1540
13161541 '@fontsource-variable/geist@5.3.0': {}
13171542
1543 '@fontsource-variable/jetbrains-mono@5.3.0': {}
1544
13181545 '@fontsource-variable/noto-sans-sc@5.3.1': {}
13191546
13201547 '@jridgewell/gen-mapping@0.3.13':
@@ -1336,6 +1563,12 @@
13361563 '@jridgewell/resolve-uri': 3.1.2
13371564 '@jridgewell/sourcemap-codec': 1.6.0
13381565
1566 '@livekit/mutex@1.1.1': {}
1567
1568 '@livekit/protocol@1.50.4':
1569 dependencies:
1570 '@bufbuild/protobuf': 1.10.1
1571
13391572 '@noble/hashes@2.4.0': {}
13401573
13411574 '@orval/angular@8.43.0':
@@ -1377,10 +1610,10 @@
13771610 - '@faker-js/faker'
13781611 - '@modelcontextprotocol/server'
13791612
1380 '@orval/hono@8.43.0(typescript@6.0.3)(zod@3.25.76)':
1613 '@orval/hono@8.43.0(typescript@6.0.3)(zod@4.6.7)':
13811614 dependencies:
13821615 '@orval/core': 8.43.0
1383 '@orval/zod': 8.43.0(zod@3.25.76)
1616 '@orval/zod': 8.43.0(zod@4.6.7)
13841617 optionalDependencies:
13851618 typescript: 6.0.3
13861619 transitivePeerDependencies:
@@ -1388,11 +1621,11 @@
13881621 - '@modelcontextprotocol/server'
13891622 - zod
13901623
1391 '@orval/mcp@8.43.0(zod@3.25.76)':
1624 '@orval/mcp@8.43.0(zod@4.6.7)':
13921625 dependencies:
13931626 '@orval/core': 8.43.0
13941627 '@orval/fetch': 8.43.0
1395 '@orval/zod': 8.43.0(zod@3.25.76)
1628 '@orval/zod': 8.43.0(zod@4.6.7)
13961629 transitivePeerDependencies:
13971630 - '@faker-js/faker'
13981631 - zod
@@ -1435,12 +1668,12 @@
14351668 - '@faker-js/faker'
14361669 - '@modelcontextprotocol/server'
14371670
1438 '@orval/zod@8.43.0(zod@3.25.76)':
1671 '@orval/zod@8.43.0(zod@4.6.7)':
14391672 dependencies:
14401673 '@orval/core': 8.43.0
14411674 jsesc: 3.1.0
14421675 optionalDependencies:
1443 zod: 3.25.76
1676 zod: 4.6.7
14441677 transitivePeerDependencies:
14451678 - '@faker-js/faker'
14461679 - '@modelcontextprotocol/server'
@@ -1558,6 +1791,8 @@
15581791
15591792 '@sindresorhus/merge-streams@4.0.0': {}
15601793
1794 '@socket.io/component-emitter@3.1.2': {}
1795
15611796 '@tailwindcss/node@4.3.3':
15621797 dependencies:
15631798 '@jridgewell/remapping': 2.3.5
@@ -1626,6 +1861,8 @@
16261861 tailwindcss: 4.3.3
16271862 vite: 8.3.4(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.1)
16281863
1864 '@types/dom-mediacapture-record@1.0.22': {}
1865
16291866 '@types/node@24.19.2':
16301867 dependencies:
16311868 undici-types: 7.24.6
@@ -1638,6 +1875,9 @@
16381875 dependencies:
16391876 csstype: 3.2.3
16401877
1878 '@types/trusted-types@2.0.7':
1879 optional: true
1880
16411881 '@vitejs/plugin-react@6.1.2(vite@8.3.4(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.1))':
16421882 dependencies:
16431883 '@rolldown/pluginutils': 1.0.1
@@ -1666,10 +1906,14 @@
16661906 dependencies:
16671907 readdirp: 5.1.1
16681908
1909 clsx@2.1.1: {}
1910
16691911 commander@15.0.0: {}
16701912
16711913 compare-versions@6.1.1: {}
16721914
1915 cookie@1.1.1: {}
1916
16731917 cross-spawn@7.0.6:
16741918 dependencies:
16751919 path-key: 3.1.1
@@ -1678,8 +1922,35 @@
16781922
16791923 csstype@3.2.3: {}
16801924
1925 debug@4.4.3:
1926 dependencies:
1927 ms: 2.1.3
1928
16811929 detect-libc@2.1.2: {}
16821930
1931 dompurify@3.4.17:
1932 optionalDependencies:
1933 '@types/trusted-types': 2.0.7
1934
1935 emoji-picker-react@4.22.3(react@19.3.1):
1936 dependencies:
1937 react: 19.3.1
1938 shipstyles: 1.0.0
1939
1940 engine.io-client@6.6.7:
1941 dependencies:
1942 '@socket.io/component-emitter': 3.1.2
1943 debug: 4.4.3
1944 engine.io-parser: 5.2.3
1945 ws: 8.21.3
1946 xmlhttprequest-ssl: 2.1.2
1947 transitivePeerDependencies:
1948 - bufferutil
1949 - supports-color
1950 - utf-8-validate
1951
1952 engine.io-parser@5.2.3: {}
1953
16831954 enhanced-resolve@5.26.0:
16841955 dependencies:
16851956 graceful-fs: 4.2.11
@@ -1716,6 +1987,8 @@
17161987
17171988 esutils@2.0.3: {}
17181989
1990 events@3.3.0: {}
1991
17191992 execa@9.6.1:
17201993 dependencies:
17211994 '@sindresorhus/merge-streams': 4.0.0
@@ -1769,6 +2042,8 @@
17692042
17702043 jiti@2.7.0: {}
17712044
2045 jose@6.2.14: {}
2046
17722047 js-yaml@4.3.2:
17732048 dependencies:
17742049 argparse: 2.0.1
@@ -1877,16 +2152,40 @@
18772152 lightningcss-win32-arm64-msvc: 1.33.0
18782153 lightningcss-win32-x64-msvc: 1.33.0
18792154
2155 livekit-client@2.22.3(@types/dom-mediacapture-record@1.0.22):
2156 dependencies:
2157 '@livekit/mutex': 1.1.1
2158 '@livekit/protocol': 1.50.4
2159 '@types/dom-mediacapture-record': 1.0.22
2160 events: 3.3.0
2161 jose: 6.2.14
2162 loglevel: 1.9.2
2163 machina: 7.0.1
2164 sdp-transform: 2.15.0
2165 tslib: 2.8.1
2166 typed-emitter: 2.1.0
2167 webrtc-adapter: 9.0.6
2168
2169 lodash.debounce@4.0.8: {}
2170
2171 loglevel@1.9.2: {}
2172
18802173 lucide-react@1.66.0(@types/react@19.3.0)(react@19.3.1):
18812174 dependencies:
18822175 react: 19.3.1
18832176 optionalDependencies:
18842177 '@types/react': 19.3.0
18852178
2179 machina@7.0.1: {}
2180
18862181 magic-string@0.30.21:
18872182 dependencies:
18882183 '@jridgewell/sourcemap-codec': 1.6.0
18892184
2185 marked@18.1.2: {}
2186
2187 ms@2.1.3: {}
2188
18902189 nanoid@3.3.20: {}
18912190
18922191 nanoid@5.1.16: {}
@@ -1896,7 +2195,7 @@
18962195 path-key: 4.0.0
18972196 unicorn-magic: 0.3.0
18982197
1899 orval@8.43.0(prettier@3.9.10)(typescript@6.0.3)(zod@3.25.76):
2198 orval@8.43.0(prettier@3.9.10)(typescript@6.0.3)(zod@4.6.7):
19002199 dependencies:
19012200 '@commander-js/extra-typings': 15.0.0(commander@15.0.0)
19022201 '@orval/angular': 8.43.0
@@ -1904,14 +2203,14 @@
19042203 '@orval/core': 8.43.0
19052204 '@orval/effect': 8.43.0
19062205 '@orval/fetch': 8.43.0
1907 '@orval/hono': 8.43.0(typescript@6.0.3)(zod@3.25.76)
1908 '@orval/mcp': 8.43.0(zod@3.25.76)
2206 '@orval/hono': 8.43.0(typescript@6.0.3)(zod@4.6.7)
2207 '@orval/mcp': 8.43.0(zod@4.6.7)
19092208 '@orval/mock': 8.43.0
19102209 '@orval/pinia-colada': 8.43.0
19112210 '@orval/query': 8.43.0
19122211 '@orval/solid-start': 8.43.0
19132212 '@orval/swr': 8.43.0
1914 '@orval/zod': 8.43.0(zod@3.25.76)
2213 '@orval/zod': 8.43.0(zod@4.6.7)
19152214 '@scalar/json-magic': 0.15.7
19162215 '@scalar/openapi-parser': 0.29.15
19172216 '@scalar/openapi-types': 0.9.7
@@ -1969,6 +2268,20 @@
19692268 react: 19.3.1
19702269 scheduler: 0.28.0
19712270
2271 react-router-dom@7.18.5(react-dom@19.3.1(react@19.3.1))(react@19.3.1):
2272 dependencies:
2273 react: 19.3.1
2274 react-dom: 19.3.1(react@19.3.1)
2275 react-router: 7.18.5(react-dom@19.3.1(react@19.3.1))(react@19.3.1)
2276
2277 react-router@7.18.5(react-dom@19.3.1(react@19.3.1))(react@19.3.1):
2278 dependencies:
2279 cookie: 1.1.1
2280 react: 19.3.1
2281 set-cookie-parser: 2.7.3
2282 optionalDependencies:
2283 react-dom: 19.3.1(react@19.3.1)
2284
19722285 react@19.3.1: {}
19732286
19742287 readdirp@5.1.1: {}
@@ -1998,16 +2311,46 @@
19982311 '@rolldown/binding-win32-arm64-msvc': 1.2.14
19992312 '@rolldown/binding-win32-x64-msvc': 1.2.14
20002313
2314 rxjs@7.8.2:
2315 dependencies:
2316 tslib: 2.9.1
2317
20012318 scheduler@0.28.0: {}
20022319
2320 sdp-transform@2.15.0: {}
2321
2322 sdp@3.2.2: {}
2323
2324 set-cookie-parser@2.7.3: {}
2325
20032326 shebang-command@2.0.0:
20042327 dependencies:
20052328 shebang-regex: 3.0.0
20062329
20072330 shebang-regex@3.0.0: {}
20082331
2332 shipstyles@1.0.0: {}
2333
20092334 signal-exit@4.1.0: {}
20102335
2336 socket.io-client@4.8.4:
2337 dependencies:
2338 '@socket.io/component-emitter': 3.1.2
2339 debug: 4.4.3
2340 engine.io-client: 6.6.7
2341 socket.io-parser: 4.2.7
2342 transitivePeerDependencies:
2343 - bufferutil
2344 - supports-color
2345 - utf-8-validate
2346
2347 socket.io-parser@4.2.7:
2348 dependencies:
2349 '@socket.io/component-emitter': 3.1.2
2350 debug: 4.4.3
2351 transitivePeerDependencies:
2352 - supports-color
2353
20112354 source-map-js@1.2.2: {}
20122355
20132356 string-argv@0.3.2: {}
@@ -2025,10 +2368,18 @@
20252368 fdir: 6.5.0(picomatch@4.0.7)
20262369 picomatch: 4.0.7
20272370
2371 tslib@2.8.1: {}
2372
2373 tslib@2.9.1: {}
2374
20282375 type-fest@5.10.0:
20292376 dependencies:
20302377 tagged-tag: 1.0.0
20312378
2379 typed-emitter@2.1.0:
2380 optionalDependencies:
2381 rxjs: 7.8.2
2382
20322383 typescript@6.0.3: {}
20332384
20342385 undici-types@7.24.6: {}
@@ -2039,6 +2390,11 @@
20392390
20402391 unicorn-magic@0.3.0: {}
20412392
2393 usehooks-ts@3.1.1(react@19.3.1):
2394 dependencies:
2395 lodash.debounce: 4.0.8
2396 react: 19.3.1
2397
20422398 vite@8.3.4(@types/node@24.19.2)(esbuild@0.28.2)(jiti@2.7.0)(yaml@2.9.1):
20432399 dependencies:
20442400 lightningcss: 1.33.0
@@ -2053,15 +2409,20 @@
20532409 jiti: 2.7.0
20542410 yaml: 2.9.1
20552411
2412 webrtc-adapter@9.0.6:
2413 dependencies:
2414 sdp: 3.2.2
2415
20562416 which@2.0.2:
20572417 dependencies:
20582418 isexe: 2.0.0
20592419
2420 ws@8.21.3: {}
2421
2422 xmlhttprequest-ssl@2.1.2: {}
2423
20602424 yaml@2.9.1: {}
20612425
20622426 yoctocolors@2.2.0: {}
2063
2064 zod@3.25.76:
2065 optional: true
20662427
20672428 zod@4.6.7: {}
Modified tsconfig.app.json tsconfig.app.json +7 −0 View tsconfig.app.json
@@ -9,6 +9,13 @@
99 "skipLibCheck": true,
1010 "paths": {
1111 "@/*": ["./view/auth/src/*"],
12 "@app/*": ["./view/app/src/*"],
13 "emoji-picker-react": ["./node_modules/emoji-picker-react/dist/index.d.ts"],
14 "emoji-picker-react/dist/data/emojis-zh.js": ["./node_modules/emoji-picker-react/dist/data/emojis-zh.d.ts"],
15 "emoji-picker-react/dist/data/emojis-en.js": ["./node_modules/emoji-picker-react/dist/data/emojis-en.d.ts"],
16 "@livekit/components-core": ["./view/app/src/vendor/livekit/core/index.ts"],
17 "@livekit/components-styles": ["./view/app/src/vendor/livekit/styles"],
18 "@livekit/components-styles/*": ["./view/app/src/vendor/livekit/styles/*"],
1219 "@kenapi/apiclient": ["./packages/apiclient/index.ts"],
1320 "@kenapi/apiclient/*": ["./packages/apiclient/*"]
1421 },
Modified vite.config.ts vite.config.ts +10 −2 View vite.config.ts
@@ -61,7 +61,7 @@
6161 const env = loadEnv(mode, process.cwd(), '')
6262 return {
6363 root: 'view',
64 publicDir: 'auth/public',
64 publicDir: 'public',
6565 build: {
6666 outDir: 'dist',
6767 emptyOutDir: true,
@@ -83,16 +83,24 @@
8383 alias: {
8484 '@kenapi/apiclient': fileURLToPath(new URL('./packages/apiclient', import.meta.url)),
8585 '@': fileURLToPath(new URL('./view/auth/src', import.meta.url)),
86 '@app': fileURLToPath(new URL('./view/app/src', import.meta.url)),
87 '@livekit/components-core': fileURLToPath(new URL('./view/app/src/vendor/livekit/core/index.ts', import.meta.url)),
88 '@livekit/components-styles': fileURLToPath(new URL('./view/app/src/vendor/livekit/styles', import.meta.url)),
8689 },
8790 },
8891 optimizeDeps: { include: ['@noble/hashes/sha2.js'] },
8992 server: {
9093 port: 15474,
9194 proxy: {
92 '^/api/v1(?:/|$)|^/.well-known/': {
95 '^/api/v1(?:/|$)|^/.well-known/|^/pages(?:/|$)': {
9396 target: env.AUTH_API_PROXY || 'http://127.0.0.1:7051',
9497 changeOrigin: true,
9598 },
99 '^/socket.io(?:/|$)': {
100 target: env.EVENT_PROXY || 'http://127.0.0.1:7031',
101 changeOrigin: true,
102 ws: true,
103 },
96104 },
97105 },
98106 }