jbilcke-hf HF staff commited on
Commit
1c60115
1 Parent(s): 8b20f19

AiTube is dead, long live AiTube

Browse files
.nvmrc CHANGED
@@ -1 +1 @@
1
- v20.10.0
 
1
+ v20.15.1
package-lock.json CHANGED
@@ -1,17 +1,17 @@
1
  {
2
  "name": "@aitube/website",
3
- "version": "0.1.2",
4
  "lockfileVersion": 3,
5
  "requires": true,
6
  "packages": {
7
  "": {
8
  "name": "@aitube/website",
9
- "version": "0.1.2",
10
  "dependencies": {
11
- "@aitube/clap": "0.1.2",
12
- "@aitube/client": "0.1.2",
13
- "@aitube/engine": "0.1.2",
14
- "@huggingface/hub": "0.12.3-oauth",
15
  "@huggingface/inference": "^2.7.0",
16
  "@jcoreio/async-throttle": "^1.6.0",
17
  "@mediapipe/tasks-vision": "^0.10.14",
@@ -51,35 +51,36 @@
51
  "@types/uuid": "^9.0.2",
52
  "@upstash/query": "^0.0.2",
53
  "@upstash/redis": "^1.31.1",
54
- "alchemy-sdk": "^3.2.1",
55
- "autoprefixer": "10.4.19",
56
- "axios": "^1.6.8",
57
  "class-variance-authority": "^0.7.0",
58
- "clsx": "^2.1.0",
59
  "cmdk": "^1.0.0",
60
- "cookies-next": "^2.1.2",
61
  "date-fns": "^3.6.0",
62
  "eslint": "8.45.0",
63
  "eslint-config-next": "13.4.10",
64
  "fastest-levenshtein": "^1.0.16",
65
- "fluent-ffmpeg": "^2.1.2",
66
  "fun-word-list": "^1.0.1",
67
  "gsplat": "^1.2.4",
68
  "hash-wasm": "^4.11.0",
69
  "jose": "^5.2.4",
70
  "js-base64": "^3.7.7",
71
  "lodash.debounce": "^4.0.8",
72
- "lucide-react": "^0.260.0",
73
  "markdown-yaml-metadata-parser": "^3.0.0",
74
  "minisearch": "^6.3.0",
75
  "next": "^14.2.2",
76
  "openai": "^4.36.0",
77
  "photo-sphere-viewer-lensflare-plugin": "^2.1.2",
78
  "pick": "^0.0.1",
79
- "postcss": "8.4.38",
80
- "qs": "^6.12.0",
81
- "query-string": "^9.0.0",
82
  "react": "18.2.0",
 
83
  "react-circular-progressbar": "^2.1.0",
84
  "react-copy-to-clipboard": "^5.1.0",
85
  "react-dom": "18.2.0",
@@ -87,17 +88,14 @@
87
  "react-icons": "^4.12.0",
88
  "react-photo-sphere-viewer": "^5.0.2-psv5.7.1",
89
  "react-smooth-scroll-hook": "^1.3.4",
90
- "react-string-avatar": "^1.2.2",
91
  "react-tuby": "^0.1.24",
92
  "react-virtualized-auto-sizer": "^1.0.20",
93
  "react-window-infinite-loader": "^1.0.9",
94
- "runcss": "^0.1.6",
95
- "sbd": "^1.0.19",
96
- "sentence-splitter": "^4.3.0",
97
  "sharp": "^0.33.4",
98
- "styled-components": "^6.1.8",
99
- "tailwind-merge": "^2.2.2",
100
- "tailwindcss": "3.4.3",
101
  "tailwindcss-animate": "^1.0.7",
102
  "temp-dir": "^3.0.0",
103
  "ts-node": "^10.9.2",
@@ -113,15 +111,13 @@
113
  "@types/proper-lockfile": "^4.1.2",
114
  "@types/qs": "^6.9.7",
115
  "@types/react-copy-to-clipboard": "^5.0.7",
116
- "@types/react-virtualized": "^9.21.22",
117
- "@types/sbd": "^1.0.3",
118
- "daisyui": "^3.7.4"
119
  }
120
  },
121
  "node_modules/@aitube/clap": {
122
- "version": "0.1.2",
123
- "resolved": "https://registry.npmjs.org/@aitube/clap/-/clap-0.1.2.tgz",
124
- "integrity": "sha512-UH0V10DEq3gl5AuzKQJBwEcjD1o+K/MUD1i2K8WpmVb08Da6l34t40XSchWvjIYL97+d1KGA4pUv98WyfKaEaA==",
125
  "dependencies": {
126
  "pure-uuid": "^1.8.1"
127
  },
@@ -130,22 +126,22 @@
130
  }
131
  },
132
  "node_modules/@aitube/client": {
133
- "version": "0.1.2",
134
- "resolved": "https://registry.npmjs.org/@aitube/client/-/client-0.1.2.tgz",
135
- "integrity": "sha512-ItThhXUbGcJkQvoS8wCXu+L5Fc2kbpWDC6J268+kqvTR1iFXpH5Qt5seBLjzHqumUCVJuvRj6Lhxw9cvpKMy6w==",
136
  "dependencies": {
137
  "query-string": "^9.0.0"
138
  },
139
  "peerDependencies": {
140
- "@aitube/clap": "0.1.2"
141
  }
142
  },
143
  "node_modules/@aitube/engine": {
144
- "version": "0.1.2",
145
- "resolved": "https://registry.npmjs.org/@aitube/engine/-/engine-0.1.2.tgz",
146
- "integrity": "sha512-Tdw7Fx3G+mH9EAAlFyXxbCiVec1KwO2zsTP/oaUoMi3DMEknld4z2eZwYmTo+IpuTswPNhJeLlFCOqaST54Prg==",
147
  "peerDependencies": {
148
- "@aitube/clap": "0.1.2"
149
  }
150
  },
151
  "node_modules/@alloc/quick-lru": {
@@ -160,9 +156,9 @@
160
  }
161
  },
162
  "node_modules/@babel/runtime": {
163
- "version": "7.24.8",
164
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.8.tgz",
165
- "integrity": "sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==",
166
  "dependencies": {
167
  "regenerator-runtime": "^0.14.0"
168
  },
@@ -918,20 +914,20 @@
918
  }
919
  },
920
  "node_modules/@floating-ui/core": {
921
- "version": "1.6.5",
922
- "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.5.tgz",
923
- "integrity": "sha512-8GrTWmoFhm5BsMZOTHeGD2/0FLKLQQHvO/ZmQga4tKempYRLz8aqJGqXVuQgisnMObq2YZ2SgkwctN1LOOxcqA==",
924
  "dependencies": {
925
- "@floating-ui/utils": "^0.2.5"
926
  }
927
  },
928
  "node_modules/@floating-ui/dom": {
929
- "version": "1.6.8",
930
- "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.8.tgz",
931
- "integrity": "sha512-kx62rP19VZ767Q653wsP1XZCGIirkE09E0QUGNYTM/ttbbQHqcGPdSfWFxUyyNLc/W6aoJRBajOSXhP6GXjC0Q==",
932
  "dependencies": {
933
  "@floating-ui/core": "^1.6.0",
934
- "@floating-ui/utils": "^0.2.5"
935
  }
936
  },
937
  "node_modules/@floating-ui/react-dom": {
@@ -947,15 +943,16 @@
947
  }
948
  },
949
  "node_modules/@floating-ui/utils": {
950
- "version": "0.2.5",
951
- "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.5.tgz",
952
- "integrity": "sha512-sTcG+QZ6fdEUObICavU+aB3Mp8HY4n14wYHdxK4fXjPmv3PXZZeY5RaguJmGyeH/CJQhX3fqKUtS4qc1LoHwhQ=="
953
  },
954
  "node_modules/@huggingface/hub": {
955
- "version": "0.12.3-oauth",
956
- "resolved": "https://registry.npmjs.org/@huggingface/hub/-/hub-0.12.3-oauth.tgz",
957
- "integrity": "sha512-9LE4Ded2VsjQTK/rxsIF/nvhkxs1UE+lcpNpuBxnTGNpaVzbO6HIlAtbThgNenKPplRt1iDkn82AQYBco1QHug==",
958
  "dependencies": {
 
959
  "hash-wasm": "^4.9.0"
960
  },
961
  "engines": {
@@ -973,10 +970,15 @@
973
  "node": ">=18"
974
  }
975
  },
 
 
 
 
 
976
  "node_modules/@huggingface/tasks": {
977
- "version": "0.11.3",
978
- "resolved": "https://registry.npmjs.org/@huggingface/tasks/-/tasks-0.11.3.tgz",
979
- "integrity": "sha512-IYq4OdlySdscjkFwm6iIqP1ZgKl4OGhvQFJWI7Yxpq2V8RmXcgIjiqk/65S6Ap7i+eyCdlOC4qweVy/ICNE0JA=="
980
  },
981
  "node_modules/@humanwhocodes/config-array": {
982
  "version": "0.11.14",
@@ -1719,85 +1721,85 @@
1719
  }
1720
  },
1721
  "node_modules/@photo-sphere-viewer/core": {
1722
- "version": "5.8.3",
1723
- "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/core/-/core-5.8.3.tgz",
1724
- "integrity": "sha512-Aj2NJic2MM+Ei35+KPFOHTg4F7qjPZfjQgm0xrveso2huearW2cYJaFzEO7d9rwgO6vL6XINVNJHU7710ShepQ==",
1725
  "dependencies": {
1726
- "three": "^0.166.1"
1727
  }
1728
  },
1729
  "node_modules/@photo-sphere-viewer/equirectangular-video-adapter": {
1730
- "version": "5.8.3",
1731
- "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/equirectangular-video-adapter/-/equirectangular-video-adapter-5.8.3.tgz",
1732
- "integrity": "sha512-3QA3qFwrCtq3ngFAxiQeOZXO9UDoWK6ETYJsdbzl+cM91+3ApQBy2MNq+BasPECpppuYYeVyUscm/CIDj4horg==",
1733
  "peerDependencies": {
1734
- "@photo-sphere-viewer/core": "5.8.3"
1735
  }
1736
  },
1737
  "node_modules/@photo-sphere-viewer/gyroscope-plugin": {
1738
- "version": "5.8.3",
1739
- "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/gyroscope-plugin/-/gyroscope-plugin-5.8.3.tgz",
1740
- "integrity": "sha512-xU77m2M94xrJoC6VqVxMjqbWnZgjy/OvpJ3J+Wub2roLxmIcDx6rIRM4DAXL+Fl0a88HEyn8C2edyk/SC3jpag==",
1741
  "peerDependencies": {
1742
- "@photo-sphere-viewer/core": "5.8.3"
1743
  }
1744
  },
1745
  "node_modules/@photo-sphere-viewer/markers-plugin": {
1746
- "version": "5.8.3",
1747
- "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/markers-plugin/-/markers-plugin-5.8.3.tgz",
1748
- "integrity": "sha512-5wxDHhTvBN0yDEoEEl79hHQ/4DGKdf/4EeTFNmKFZqTA9g31YAtWnhf8wAHchOunqOb5Ojn8sh52EeM75IgIEg==",
1749
  "peerDependencies": {
1750
- "@photo-sphere-viewer/core": "5.8.3"
1751
  }
1752
  },
1753
  "node_modules/@photo-sphere-viewer/overlays-plugin": {
1754
- "version": "5.8.3",
1755
- "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/overlays-plugin/-/overlays-plugin-5.8.3.tgz",
1756
- "integrity": "sha512-sFXqtMyXb+rV4iTM+MmGTs7lZKrXTILOoaxzxTcpCmN/bWn0Lajm5iU8HP+hUiWMHdUKnHU9KbGy+0/viTJhhQ==",
1757
  "peerDependencies": {
1758
- "@photo-sphere-viewer/core": "5.8.3"
1759
  }
1760
  },
1761
  "node_modules/@photo-sphere-viewer/resolution-plugin": {
1762
- "version": "5.8.3",
1763
- "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/resolution-plugin/-/resolution-plugin-5.8.3.tgz",
1764
- "integrity": "sha512-Rx5Zc0sgzLlRIzw/tD9gnGlR1PWLmNd/ote3vdEy9UBUTyY4MRlJeFIyUAphXtwb2XJphsrQYsOix2VP+lJwFw==",
1765
  "peerDependencies": {
1766
- "@photo-sphere-viewer/core": "5.8.3",
1767
- "@photo-sphere-viewer/settings-plugin": "5.8.3"
1768
  }
1769
  },
1770
  "node_modules/@photo-sphere-viewer/settings-plugin": {
1771
- "version": "5.8.3",
1772
- "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/settings-plugin/-/settings-plugin-5.8.3.tgz",
1773
- "integrity": "sha512-mxcmFBmHYxsJ6tJfE5r/qsXj0IUA6SQyRIyCmFNVURTGtlWOAjODiILEyH1y8IdEo84vHYFHKepoGZ8jE8lz9g==",
1774
  "peerDependencies": {
1775
- "@photo-sphere-viewer/core": "5.8.3"
1776
  }
1777
  },
1778
  "node_modules/@photo-sphere-viewer/stereo-plugin": {
1779
- "version": "5.8.3",
1780
- "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/stereo-plugin/-/stereo-plugin-5.8.3.tgz",
1781
- "integrity": "sha512-cXX7MKR+PmDk2DFbbvLiK1iNimgR+0n4Z2arOTfKDPPZd0UflKDOOfAnaM+VJvvgh5vseJLdlb5p7HAlbMvf7A==",
1782
  "peerDependencies": {
1783
- "@photo-sphere-viewer/core": "5.8.3",
1784
- "@photo-sphere-viewer/gyroscope-plugin": "5.8.3"
1785
  }
1786
  },
1787
  "node_modules/@photo-sphere-viewer/video-plugin": {
1788
- "version": "5.8.3",
1789
- "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/video-plugin/-/video-plugin-5.8.3.tgz",
1790
- "integrity": "sha512-vs+zh2UQvOP7xMLGBWw4iIgCmC2lXQEcKqan9BteA/vQalcWWtHa4L6qQCgAt+h+rP6s4TMpTS5ZOfVIfeL3gw==",
1791
  "peerDependencies": {
1792
- "@photo-sphere-viewer/core": "5.8.3"
1793
  }
1794
  },
1795
  "node_modules/@photo-sphere-viewer/visible-range-plugin": {
1796
- "version": "5.8.3",
1797
- "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/visible-range-plugin/-/visible-range-plugin-5.8.3.tgz",
1798
- "integrity": "sha512-t11mE5sd65AThNdba+U39LX8W7swcSFohxbpl2g+5KLCWYNb3GKO2m+4UwKLcGCl+glSSZLQVDR9lu8azxo+Zw==",
1799
  "peerDependencies": {
1800
- "@photo-sphere-viewer/core": "5.8.3"
1801
  }
1802
  },
1803
  "node_modules/@pkgjs/parseargs": {
@@ -2841,9 +2843,9 @@
2841
  }
2842
  },
2843
  "node_modules/@rushstack/eslint-patch": {
2844
- "version": "1.10.3",
2845
- "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.3.tgz",
2846
- "integrity": "sha512-qC/xYId4NMebE6w/V33Fh9gWxLgURiNYgVNObbJl2LZv0GUUItCcCqC5axQSwRaAgaxl2mELq1rMzlswaQ0Zxg=="
2847
  },
2848
  "node_modules/@swc/counter": {
2849
  "version": "0.1.3",
@@ -2867,11 +2869,6 @@
2867
  "tailwindcss": ">=3.2.0"
2868
  }
2869
  },
2870
- "node_modules/@textlint/ast-node-types": {
2871
- "version": "13.4.1",
2872
- "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.4.1.tgz",
2873
- "integrity": "sha512-qrZyhCh8Ekk6nwArx3BROybm9BnX6vF7VcZbijetV/OM3yfS4rTYhoMWISmhVEP2H2re0CtWEyMl/XF+WdvVLQ=="
2874
- },
2875
  "node_modules/@tsconfig/node10": {
2876
  "version": "1.0.11",
2877
  "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz",
@@ -2893,14 +2890,14 @@
2893
  "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA=="
2894
  },
2895
  "node_modules/@types/cookie": {
2896
- "version": "0.4.1",
2897
- "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
2898
- "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
2899
  },
2900
  "node_modules/@types/fluent-ffmpeg": {
2901
- "version": "2.1.24",
2902
- "resolved": "https://registry.npmjs.org/@types/fluent-ffmpeg/-/fluent-ffmpeg-2.1.24.tgz",
2903
- "integrity": "sha512-g5oQO8Jgi2kFS3tTub7wLvfLztr1s8tdXmRd8PiL/hLMLzTIAyMR2sANkTggM/rdEDAg3d63nYRRVepwBiCw5A==",
2904
  "dev": true,
2905
  "dependencies": {
2906
  "@types/node": "*"
@@ -3001,12 +2998,6 @@
3001
  "integrity": "sha512-3xSjTp3v03X/lSQLkczaN9UIEwJMoMCA1+Nb5HfbJEQWogdeQIyVtTvxPXDQjZ5zws8rFQfVfRdz03ARihPJgw==",
3002
  "dev": true
3003
  },
3004
- "node_modules/@types/sbd": {
3005
- "version": "1.0.5",
3006
- "resolved": "https://registry.npmjs.org/@types/sbd/-/sbd-1.0.5.tgz",
3007
- "integrity": "sha512-60PxBBWhg0C3yb5bTP+wwWYGTKMcuB0S6mTEa1sedMC79tYY0Ei7YjU4qsWzGn++lWscLQde16SnElJrf5/aTw==",
3008
- "dev": true
3009
- },
3010
  "node_modules/@types/scheduler": {
3011
  "version": "0.23.0",
3012
  "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.23.0.tgz",
@@ -3127,9 +3118,9 @@
3127
  }
3128
  },
3129
  "node_modules/@upstash/redis": {
3130
- "version": "1.33.0",
3131
- "resolved": "https://registry.npmjs.org/@upstash/redis/-/redis-1.33.0.tgz",
3132
- "integrity": "sha512-5WOilc7AE0ITAdE3NCyMwgOq1n3RHcqW0OfmbotiAyfA+QAEe1R7kXin8L/Yladgdc5lkA0GcYyewqKfAw53jQ==",
3133
  "dependencies": {
3134
  "crypto-js": "^4.2.0"
3135
  }
@@ -3207,9 +3198,9 @@
3207
  }
3208
  },
3209
  "node_modules/alchemy-sdk": {
3210
- "version": "3.3.1",
3211
- "resolved": "https://registry.npmjs.org/alchemy-sdk/-/alchemy-sdk-3.3.1.tgz",
3212
- "integrity": "sha512-iH/wIhBsHr18NTV9G9WrNsk/ofBOrhKaxH1vG9IZN3t+sTrB5uKAMMgmKvvJHDnOJ2Fo/bTnYPgUWNqhQxEfCQ==",
3213
  "dependencies": {
3214
  "@ethersproject/abi": "^5.7.0",
3215
  "@ethersproject/abstract-provider": "^5.7.0",
@@ -3222,7 +3213,7 @@
3222
  "@ethersproject/units": "^5.7.0",
3223
  "@ethersproject/wallet": "^5.7.0",
3224
  "@ethersproject/web": "^5.7.0",
3225
- "axios": "^1.6.5",
3226
  "sturdy-websocket": "^0.2.1",
3227
  "websocket": "^1.0.34"
3228
  }
@@ -3461,9 +3452,9 @@
3461
  "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
3462
  },
3463
  "node_modules/autoprefixer": {
3464
- "version": "10.4.19",
3465
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz",
3466
- "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==",
3467
  "funding": [
3468
  {
3469
  "type": "opencollective",
@@ -3479,11 +3470,11 @@
3479
  }
3480
  ],
3481
  "dependencies": {
3482
- "browserslist": "^4.23.0",
3483
- "caniuse-lite": "^1.0.30001599",
3484
  "fraction.js": "^4.3.7",
3485
  "normalize-range": "^0.1.2",
3486
- "picocolors": "^1.0.0",
3487
  "postcss-value-parser": "^4.2.0"
3488
  },
3489
  "bin": {
@@ -3511,17 +3502,17 @@
3511
  }
3512
  },
3513
  "node_modules/axe-core": {
3514
- "version": "4.9.1",
3515
- "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.9.1.tgz",
3516
- "integrity": "sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==",
3517
  "engines": {
3518
  "node": ">=4"
3519
  }
3520
  },
3521
  "node_modules/axios": {
3522
- "version": "1.7.2",
3523
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz",
3524
- "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==",
3525
  "dependencies": {
3526
  "follow-redirects": "^1.15.6",
3527
  "form-data": "^4.0.0",
@@ -3562,11 +3553,6 @@
3562
  "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
3563
  "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ=="
3564
  },
3565
- "node_modules/boundary": {
3566
- "version": "2.0.0",
3567
- "resolved": "https://registry.npmjs.org/boundary/-/boundary-2.0.0.tgz",
3568
- "integrity": "sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA=="
3569
- },
3570
  "node_modules/brace-expansion": {
3571
  "version": "1.1.11",
3572
  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -3593,9 +3579,9 @@
3593
  "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w=="
3594
  },
3595
  "node_modules/browserslist": {
3596
- "version": "4.23.2",
3597
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz",
3598
- "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==",
3599
  "funding": [
3600
  {
3601
  "type": "opencollective",
@@ -3611,9 +3597,9 @@
3611
  }
3612
  ],
3613
  "dependencies": {
3614
- "caniuse-lite": "^1.0.30001640",
3615
- "electron-to-chromium": "^1.4.820",
3616
- "node-releases": "^2.0.14",
3617
  "update-browserslist-db": "^1.1.0"
3618
  },
3619
  "bin": {
@@ -3689,9 +3675,9 @@
3689
  }
3690
  },
3691
  "node_modules/caniuse-lite": {
3692
- "version": "1.0.30001643",
3693
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz",
3694
- "integrity": "sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==",
3695
  "funding": [
3696
  {
3697
  "type": "opencollective",
@@ -3722,6 +3708,14 @@
3722
  "url": "https://github.com/chalk/chalk?sponsor=1"
3723
  }
3724
  },
 
 
 
 
 
 
 
 
3725
  "node_modules/chokidar": {
3726
  "version": "3.6.0",
3727
  "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
@@ -4190,12 +4184,6 @@
4190
  "simple-swizzle": "^0.2.2"
4191
  }
4192
  },
4193
- "node_modules/colord": {
4194
- "version": "2.9.3",
4195
- "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
4196
- "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
4197
- "dev": true
4198
- },
4199
  "node_modules/combined-stream": {
4200
  "version": "1.0.8",
4201
  "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
@@ -4221,28 +4209,22 @@
4221
  "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
4222
  },
4223
  "node_modules/cookie": {
4224
- "version": "0.4.2",
4225
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
4226
- "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
4227
  "engines": {
4228
  "node": ">= 0.6"
4229
  }
4230
  },
4231
  "node_modules/cookies-next": {
4232
- "version": "2.1.2",
4233
- "resolved": "https://registry.npmjs.org/cookies-next/-/cookies-next-2.1.2.tgz",
4234
- "integrity": "sha512-czxcfqVaQlo0Q/3xMgp/2jpspsuLJrIm6D37wlmibP3DAcYT315c8UxQmDMohhAT/GRWpaHzpDEFANBjzTFQGg==",
4235
  "dependencies": {
4236
- "@types/cookie": "^0.4.1",
4237
- "@types/node": "^16.10.2",
4238
- "cookie": "^0.4.0"
4239
  }
4240
  },
4241
- "node_modules/cookies-next/node_modules/@types/node": {
4242
- "version": "16.18.104",
4243
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.104.tgz",
4244
- "integrity": "sha512-OF3keVCbfPlkzxnnDBUZJn1RiCJzKeadjiW0xTEb0G1SUJ5gDVb3qnzZr2T4uIFvsbKJbXy1v2DN7e2zaEY7jQ=="
4245
- },
4246
  "node_modules/copy-to-clipboard": {
4247
  "version": "3.3.3",
4248
  "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz",
@@ -4251,6 +4233,17 @@
4251
  "toggle-selection": "^1.0.6"
4252
  }
4253
  },
 
 
 
 
 
 
 
 
 
 
 
4254
  "node_modules/create-require": {
4255
  "version": "1.1.1",
4256
  "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
@@ -4269,6 +4262,14 @@
4269
  "node": ">= 8"
4270
  }
4271
  },
 
 
 
 
 
 
 
 
4272
  "node_modules/crypto-js": {
4273
  "version": "4.2.0",
4274
  "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz",
@@ -4282,16 +4283,6 @@
4282
  "node": ">=4"
4283
  }
4284
  },
4285
- "node_modules/css-selector-tokenizer": {
4286
- "version": "0.8.0",
4287
- "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz",
4288
- "integrity": "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==",
4289
- "dev": true,
4290
- "dependencies": {
4291
- "cssesc": "^3.0.0",
4292
- "fastparse": "^1.1.2"
4293
- }
4294
- },
4295
  "node_modules/css-to-react-native": {
4296
  "version": "3.2.0",
4297
  "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz",
@@ -4330,26 +4321,6 @@
4330
  "node": ">=0.12"
4331
  }
4332
  },
4333
- "node_modules/daisyui": {
4334
- "version": "3.9.4",
4335
- "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-3.9.4.tgz",
4336
- "integrity": "sha512-fvi2RGH4YV617/6DntOVGcOugOPym9jTGWW2XySb5ZpvdWO4L7bEG77VHirrnbRUEWvIEVXkBpxUz2KFj0rVnA==",
4337
- "dev": true,
4338
- "dependencies": {
4339
- "colord": "^2.9",
4340
- "css-selector-tokenizer": "^0.8",
4341
- "postcss": "^8",
4342
- "postcss-js": "^4",
4343
- "tailwindcss": "^3.1"
4344
- },
4345
- "engines": {
4346
- "node": ">=16.9.0"
4347
- },
4348
- "funding": {
4349
- "type": "opencollective",
4350
- "url": "https://opencollective.com/daisyui"
4351
- }
4352
- },
4353
  "node_modules/damerau-levenshtein": {
4354
  "version": "1.0.8",
4355
  "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
@@ -4413,9 +4384,9 @@
4413
  }
4414
  },
4415
  "node_modules/debug": {
4416
- "version": "4.3.5",
4417
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
4418
- "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
4419
  "dependencies": {
4420
  "ms": "2.1.2"
4421
  },
@@ -4472,14 +4443,6 @@
4472
  "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
4473
  "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
4474
  },
4475
- "node_modules/deepmerge": {
4476
- "version": "4.3.1",
4477
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
4478
- "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
4479
- "engines": {
4480
- "node": ">=0.10.0"
4481
- }
4482
- },
4483
  "node_modules/define-data-property": {
4484
  "version": "1.1.4",
4485
  "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
@@ -4581,66 +4544,15 @@
4581
  "node": ">=6.0.0"
4582
  }
4583
  },
4584
- "node_modules/dom-serializer": {
4585
- "version": "2.0.0",
4586
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
4587
- "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
4588
- "dependencies": {
4589
- "domelementtype": "^2.3.0",
4590
- "domhandler": "^5.0.2",
4591
- "entities": "^4.2.0"
4592
- },
4593
- "funding": {
4594
- "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
4595
- }
4596
- },
4597
- "node_modules/domelementtype": {
4598
- "version": "2.3.0",
4599
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
4600
- "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
4601
- "funding": [
4602
- {
4603
- "type": "github",
4604
- "url": "https://github.com/sponsors/fb55"
4605
- }
4606
- ]
4607
- },
4608
- "node_modules/domhandler": {
4609
- "version": "5.0.3",
4610
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
4611
- "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
4612
- "dependencies": {
4613
- "domelementtype": "^2.3.0"
4614
- },
4615
- "engines": {
4616
- "node": ">= 4"
4617
- },
4618
- "funding": {
4619
- "url": "https://github.com/fb55/domhandler?sponsor=1"
4620
- }
4621
- },
4622
- "node_modules/domutils": {
4623
- "version": "3.1.0",
4624
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz",
4625
- "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==",
4626
- "dependencies": {
4627
- "dom-serializer": "^2.0.0",
4628
- "domelementtype": "^2.3.0",
4629
- "domhandler": "^5.0.3"
4630
- },
4631
- "funding": {
4632
- "url": "https://github.com/fb55/domutils?sponsor=1"
4633
- }
4634
- },
4635
  "node_modules/eastasianwidth": {
4636
  "version": "0.2.0",
4637
  "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
4638
  "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
4639
  },
4640
  "node_modules/electron-to-chromium": {
4641
- "version": "1.5.0",
4642
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.0.tgz",
4643
- "integrity": "sha512-Vb3xHHYnLseK8vlMJQKJYXJ++t4u1/qJ3vykuVrVjvdiOEhYyT1AuP4x03G8EnPmYvYOhe9T+dADTmthjRQMkA=="
4644
  },
4645
  "node_modules/elliptic": {
4646
  "version": "6.5.4",
@@ -4678,17 +4590,6 @@
4678
  "node": ">=10.13.0"
4679
  }
4680
  },
4681
- "node_modules/entities": {
4682
- "version": "4.5.0",
4683
- "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
4684
- "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
4685
- "engines": {
4686
- "node": ">=0.12"
4687
- },
4688
- "funding": {
4689
- "url": "https://github.com/fb55/entities?sponsor=1"
4690
- }
4691
- },
4692
  "node_modules/es-abstract": {
4693
  "version": "1.23.3",
4694
  "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz",
@@ -5406,12 +5307,6 @@
5406
  "node": ">= 4.9.1"
5407
  }
5408
  },
5409
- "node_modules/fastparse": {
5410
- "version": "1.1.2",
5411
- "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
5412
- "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
5413
- "dev": true
5414
- },
5415
  "node_modules/fastq": {
5416
  "version": "1.17.1",
5417
  "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
@@ -5537,9 +5432,9 @@
5537
  }
5538
  },
5539
  "node_modules/foreground-child": {
5540
- "version": "3.2.1",
5541
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz",
5542
- "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==",
5543
  "dependencies": {
5544
  "cross-spawn": "^7.0.0",
5545
  "signal-exit": "^4.0.1"
@@ -5581,14 +5476,6 @@
5581
  "node": ">= 12.20"
5582
  }
5583
  },
5584
- "node_modules/formdata-node/node_modules/web-streams-polyfill": {
5585
- "version": "4.0.0-beta.3",
5586
- "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz",
5587
- "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==",
5588
- "engines": {
5589
- "node": ">= 14"
5590
- }
5591
- },
5592
  "node_modules/fraction.js": {
5593
  "version": "4.3.7",
5594
  "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
@@ -5924,24 +5811,6 @@
5924
  "minimalistic-crypto-utils": "^1.0.1"
5925
  }
5926
  },
5927
- "node_modules/htmlparser2": {
5928
- "version": "8.0.2",
5929
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz",
5930
- "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==",
5931
- "funding": [
5932
- "https://github.com/fb55/htmlparser2?sponsor=1",
5933
- {
5934
- "type": "github",
5935
- "url": "https://github.com/sponsors/fb55"
5936
- }
5937
- ],
5938
- "dependencies": {
5939
- "domelementtype": "^2.3.0",
5940
- "domhandler": "^5.0.3",
5941
- "domutils": "^3.0.1",
5942
- "entities": "^4.4.0"
5943
- }
5944
- },
5945
  "node_modules/humanize-ms": {
5946
  "version": "1.2.1",
5947
  "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
@@ -5951,9 +5820,9 @@
5951
  }
5952
  },
5953
  "node_modules/ignore": {
5954
- "version": "5.3.1",
5955
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
5956
- "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
5957
  "engines": {
5958
  "node": ">= 4"
5959
  }
@@ -6103,6 +5972,11 @@
6103
  "url": "https://github.com/sponsors/ljharb"
6104
  }
6105
  },
 
 
 
 
 
6106
  "node_modules/is-callable": {
6107
  "version": "1.2.7",
6108
  "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
@@ -6260,14 +6134,6 @@
6260
  "node": ">=8"
6261
  }
6262
  },
6263
- "node_modules/is-plain-object": {
6264
- "version": "5.0.0",
6265
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
6266
- "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
6267
- "engines": {
6268
- "node": ">=0.10.0"
6269
- }
6270
- },
6271
  "node_modules/is-regex": {
6272
  "version": "1.1.4",
6273
  "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
@@ -6283,6 +6149,11 @@
6283
  "url": "https://github.com/sponsors/ljharb"
6284
  }
6285
  },
 
 
 
 
 
6286
  "node_modules/is-set": {
6287
  "version": "2.0.3",
6288
  "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
@@ -6600,11 +6471,11 @@
6600
  "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="
6601
  },
6602
  "node_modules/lucide-react": {
6603
- "version": "0.260.0",
6604
- "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.260.0.tgz",
6605
- "integrity": "sha512-xN6wuhUlcXeS4GsxZpd2DZp+m1jEZPckuCr90nQAXKRNl63GZ4KshIcGmqJEUqEygmv8Rf99MhcwF3DqBqQ9Dg==",
6606
  "peerDependencies": {
6607
- "react": "^16.5.1 || ^17.0.0 || ^18.0.0"
6608
  }
6609
  },
6610
  "node_modules/make-error": {
@@ -6644,6 +6515,16 @@
6644
  "js-yaml": "bin/js-yaml.js"
6645
  }
6646
  },
 
 
 
 
 
 
 
 
 
 
6647
  "node_modules/merge2": {
6648
  "version": "1.4.1",
6649
  "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
@@ -7046,9 +6927,9 @@
7046
  }
7047
  },
7048
  "node_modules/openai": {
7049
- "version": "4.53.0",
7050
- "resolved": "https://registry.npmjs.org/openai/-/openai-4.53.0.tgz",
7051
- "integrity": "sha512-XoMaJsSLuedW5eoMEMmZbdNoXgML3ujcU5KfwRnC6rnbmZkHE2Q4J/SArwhqCxQRqJwHnQUj1LpiROmKPExZJA==",
7052
  "dependencies": {
7053
  "@types/node": "^18.11.18",
7054
  "@types/node-fetch": "^2.6.4",
@@ -7056,17 +6937,24 @@
7056
  "agentkeepalive": "^4.2.1",
7057
  "form-data-encoder": "1.7.2",
7058
  "formdata-node": "^4.3.2",
7059
- "node-fetch": "^2.6.7",
7060
- "web-streams-polyfill": "^3.2.1"
7061
  },
7062
  "bin": {
7063
  "openai": "bin/cli"
 
 
 
 
 
 
 
 
7064
  }
7065
  },
7066
  "node_modules/openai/node_modules/@types/node": {
7067
- "version": "18.19.42",
7068
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.42.tgz",
7069
- "integrity": "sha512-d2ZFc/3lnK2YCYhos8iaNIYu9Vfhr92nHiyJHRltXWjXUBjEE+A4I58Tdbnw4VhggSW+2j5y5gTrLs4biNnubg==",
7070
  "dependencies": {
7071
  "undici-types": "~5.26.4"
7072
  }
@@ -7131,11 +7019,6 @@
7131
  "node": ">=6"
7132
  }
7133
  },
7134
- "node_modules/parse-srcset": {
7135
- "version": "1.0.2",
7136
- "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz",
7137
- "integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q=="
7138
- },
7139
  "node_modules/path-exists": {
7140
  "version": "4.0.0",
7141
  "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -7246,9 +7129,9 @@
7246
  }
7247
  },
7248
  "node_modules/postcss": {
7249
- "version": "8.4.38",
7250
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
7251
- "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
7252
  "funding": [
7253
  {
7254
  "type": "opencollective",
@@ -7265,7 +7148,7 @@
7265
  ],
7266
  "dependencies": {
7267
  "nanoid": "^3.3.7",
7268
- "picocolors": "^1.0.0",
7269
  "source-map-js": "^1.2.0"
7270
  },
7271
  "engines": {
@@ -7376,9 +7259,9 @@
7376
  }
7377
  },
7378
  "node_modules/postcss-selector-parser": {
7379
- "version": "6.1.1",
7380
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz",
7381
- "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==",
7382
  "dependencies": {
7383
  "cssesc": "^3.0.0",
7384
  "util-deprecate": "^1.0.2"
@@ -7432,9 +7315,9 @@
7432
  }
7433
  },
7434
  "node_modules/qs": {
7435
- "version": "6.12.3",
7436
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz",
7437
- "integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==",
7438
  "dependencies": {
7439
  "side-channel": "^1.0.6"
7440
  },
@@ -7491,6 +7374,21 @@
7491
  "node": ">=0.10.0"
7492
  }
7493
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7494
  "node_modules/react-circular-progressbar": {
7495
  "version": "2.1.0",
7496
  "resolved": "https://registry.npmjs.org/react-circular-progressbar/-/react-circular-progressbar-2.1.0.tgz",
@@ -7626,15 +7524,6 @@
7626
  "react-dom": ">=16.8.0"
7627
  }
7628
  },
7629
- "node_modules/react-string-avatar": {
7630
- "version": "1.2.2",
7631
- "resolved": "https://registry.npmjs.org/react-string-avatar/-/react-string-avatar-1.2.2.tgz",
7632
- "integrity": "sha512-M2cBIVxZvyGiK0J+YAVqSLgTbhD/EEhAyAzw8AH2OzxO06CjLjuj8GNwf9yRWaY73aQj2RU90eXrhYYSu540Eg==",
7633
- "peerDependencies": {
7634
- "react": "^16.4.2",
7635
- "react-dom": "^16.4.2"
7636
- }
7637
- },
7638
  "node_modules/react-style-singleton": {
7639
  "version": "2.2.1",
7640
  "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz",
@@ -7879,27 +7768,6 @@
7879
  "url": "https://github.com/sponsors/ljharb"
7880
  }
7881
  },
7882
- "node_modules/sanitize-html": {
7883
- "version": "2.13.0",
7884
- "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.13.0.tgz",
7885
- "integrity": "sha512-Xff91Z+4Mz5QiNSLdLWwjgBDm5b1RU6xBT0+12rapjiaR7SwfRdjw8f+6Rir2MXKLrDicRFHdb51hGOAxmsUIA==",
7886
- "dependencies": {
7887
- "deepmerge": "^4.2.2",
7888
- "escape-string-regexp": "^4.0.0",
7889
- "htmlparser2": "^8.0.0",
7890
- "is-plain-object": "^5.0.0",
7891
- "parse-srcset": "^1.0.2",
7892
- "postcss": "^8.3.11"
7893
- }
7894
- },
7895
- "node_modules/sbd": {
7896
- "version": "1.0.19",
7897
- "resolved": "https://registry.npmjs.org/sbd/-/sbd-1.0.19.tgz",
7898
- "integrity": "sha512-b5RyZMGSrFuIB4AHdbv12uYHS8YGEJ36gtuvG3RflbJGY+T0dXmAL0E4vZjQqT2RsX0v+ZwVqhV2zsGr5aFK9w==",
7899
- "dependencies": {
7900
- "sanitize-html": "^2.3.2"
7901
- }
7902
- },
7903
  "node_modules/scheduler": {
7904
  "version": "0.23.2",
7905
  "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
@@ -7924,15 +7792,6 @@
7924
  "node": ">=10"
7925
  }
7926
  },
7927
- "node_modules/sentence-splitter": {
7928
- "version": "4.4.1",
7929
- "resolved": "https://registry.npmjs.org/sentence-splitter/-/sentence-splitter-4.4.1.tgz",
7930
- "integrity": "sha512-4Jks7qn5nOeY5g++wlWbLCKclo2XxT7DBrLYo68UNdP8UEWUpUNH5VgKTEd0QlTo2cYBggtVk0NkvsRhoCZdsA==",
7931
- "dependencies": {
7932
- "@textlint/ast-node-types": "^13.4.1",
7933
- "structured-source": "^4.0.0"
7934
- }
7935
- },
7936
  "node_modules/set-function-length": {
7937
  "version": "1.2.2",
7938
  "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
@@ -8304,14 +8163,6 @@
8304
  "url": "https://github.com/sponsors/sindresorhus"
8305
  }
8306
  },
8307
- "node_modules/structured-source": {
8308
- "version": "4.0.0",
8309
- "resolved": "https://registry.npmjs.org/structured-source/-/structured-source-4.0.0.tgz",
8310
- "integrity": "sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==",
8311
- "dependencies": {
8312
- "boundary": "^2.0.0"
8313
- }
8314
- },
8315
  "node_modules/sturdy-websocket": {
8316
  "version": "0.2.1",
8317
  "resolved": "https://registry.npmjs.org/sturdy-websocket/-/sturdy-websocket-0.2.1.tgz",
@@ -8344,6 +8195,33 @@
8344
  "react-dom": ">= 16.8.0"
8345
  }
8346
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8347
  "node_modules/styled-components/node_modules/tslib": {
8348
  "version": "2.6.2",
8349
  "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
@@ -8461,18 +8339,18 @@
8461
  }
8462
  },
8463
  "node_modules/tailwind-merge": {
8464
- "version": "2.4.0",
8465
- "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.4.0.tgz",
8466
- "integrity": "sha512-49AwoOQNKdqKPd9CViyH5wJoSKsCDjUlzL8DxuGp3P1FsGY36NJDAa18jLZcaHAUUuTj+JB8IAo8zWgBNvBF7A==",
8467
  "funding": {
8468
  "type": "github",
8469
  "url": "https://github.com/sponsors/dcastil"
8470
  }
8471
  },
8472
  "node_modules/tailwindcss": {
8473
- "version": "3.4.3",
8474
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz",
8475
- "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==",
8476
  "dependencies": {
8477
  "@alloc/quick-lru": "^5.2.0",
8478
  "arg": "^5.0.2",
@@ -8554,9 +8432,9 @@
8554
  }
8555
  },
8556
  "node_modules/three": {
8557
- "version": "0.166.1",
8558
- "resolved": "https://registry.npmjs.org/three/-/three-0.166.1.tgz",
8559
- "integrity": "sha512-LtuafkKHHzm61AQA1be2MAYIw1IjmhOUxhBa0prrLpEMWbV7ijvxCRHjSgHPGp2493wLBzwKV46tA9nivLEgKg=="
8560
  },
8561
  "node_modules/to-regex-range": {
8562
  "version": "5.0.1",
@@ -8683,9 +8561,9 @@
8683
  }
8684
  },
8685
  "node_modules/type-fest": {
8686
- "version": "4.23.0",
8687
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.23.0.tgz",
8688
- "integrity": "sha512-ZiBujro2ohr5+Z/hZWHESLz3g08BBdrdLMieYFULJO+tWc437sn8kQsWLJoZErY8alNhxre9K4p3GURAG11n+w==",
8689
  "engines": {
8690
  "node": ">=16"
8691
  },
@@ -8880,9 +8758,9 @@
8880
  }
8881
  },
8882
  "node_modules/use-sync-external-store": {
8883
- "version": "1.2.0",
8884
- "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
8885
- "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
8886
  "peerDependencies": {
8887
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
8888
  }
@@ -8936,11 +8814,11 @@
8936
  "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg=="
8937
  },
8938
  "node_modules/web-streams-polyfill": {
8939
- "version": "3.3.3",
8940
- "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz",
8941
- "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==",
8942
  "engines": {
8943
- "node": ">= 8"
8944
  }
8945
  },
8946
  "node_modules/webidl-conversions": {
@@ -9016,12 +8894,12 @@
9016
  }
9017
  },
9018
  "node_modules/which-builtin-type": {
9019
- "version": "1.1.3",
9020
- "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz",
9021
- "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==",
9022
  "dependencies": {
9023
- "function.prototype.name": "^1.1.5",
9024
- "has-tostringtag": "^1.0.0",
9025
  "is-async-function": "^2.0.0",
9026
  "is-date-object": "^1.0.5",
9027
  "is-finalizationregistry": "^1.0.2",
@@ -9030,8 +8908,8 @@
9030
  "is-weakref": "^1.0.2",
9031
  "isarray": "^2.0.5",
9032
  "which-boxed-primitive": "^1.0.2",
9033
- "which-collection": "^1.0.1",
9034
- "which-typed-array": "^1.1.9"
9035
  },
9036
  "engines": {
9037
  "node": ">= 0.4"
@@ -9234,11 +9112,11 @@
9234
  }
9235
  },
9236
  "node_modules/zustand": {
9237
- "version": "4.5.4",
9238
- "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.4.tgz",
9239
- "integrity": "sha512-/BPMyLKJPtFEvVL0E9E9BTUM63MNyhPGlvxk1XjrfWTUlV+BR8jufjsovHzrtR6YNcBEcL7cMHovL1n9xHawEg==",
9240
  "dependencies": {
9241
- "use-sync-external-store": "1.2.0"
9242
  },
9243
  "engines": {
9244
  "node": ">=12.7.0"
 
1
  {
2
  "name": "@aitube/website",
3
+ "version": "0.2.0",
4
  "lockfileVersion": 3,
5
  "requires": true,
6
  "packages": {
7
  "": {
8
  "name": "@aitube/website",
9
+ "version": "0.2.0",
10
  "dependencies": {
11
+ "@aitube/clap": "0.2.3",
12
+ "@aitube/client": "0.2.3",
13
+ "@aitube/engine": "0.2.3",
14
+ "@huggingface/hub": "0.15.1",
15
  "@huggingface/inference": "^2.7.0",
16
  "@jcoreio/async-throttle": "^1.6.0",
17
  "@mediapipe/tasks-vision": "^0.10.14",
 
51
  "@types/uuid": "^9.0.2",
52
  "@upstash/query": "^0.0.2",
53
  "@upstash/redis": "^1.31.1",
54
+ "alchemy-sdk": "^3.4.1",
55
+ "autoprefixer": "10.4.20",
56
+ "axios": "^1.7.4",
57
  "class-variance-authority": "^0.7.0",
58
+ "clsx": "^2.1.1",
59
  "cmdk": "^1.0.0",
60
+ "cookies-next": "^4.2.1",
61
  "date-fns": "^3.6.0",
62
  "eslint": "8.45.0",
63
  "eslint-config-next": "13.4.10",
64
  "fastest-levenshtein": "^1.0.16",
65
+ "fluent-ffmpeg": "^2.1.3",
66
  "fun-word-list": "^1.0.1",
67
  "gsplat": "^1.2.4",
68
  "hash-wasm": "^4.11.0",
69
  "jose": "^5.2.4",
70
  "js-base64": "^3.7.7",
71
  "lodash.debounce": "^4.0.8",
72
+ "lucide-react": "^0.428.0",
73
  "markdown-yaml-metadata-parser": "^3.0.0",
74
  "minisearch": "^6.3.0",
75
  "next": "^14.2.2",
76
  "openai": "^4.36.0",
77
  "photo-sphere-viewer-lensflare-plugin": "^2.1.2",
78
  "pick": "^0.0.1",
79
+ "postcss": "8.4.41",
80
+ "qs": "^6.13.0",
81
+ "query-string": "^9.1.0",
82
  "react": "18.2.0",
83
+ "react-avatar": "^5.0.3",
84
  "react-circular-progressbar": "^2.1.0",
85
  "react-copy-to-clipboard": "^5.1.0",
86
  "react-dom": "18.2.0",
 
88
  "react-icons": "^4.12.0",
89
  "react-photo-sphere-viewer": "^5.0.2-psv5.7.1",
90
  "react-smooth-scroll-hook": "^1.3.4",
 
91
  "react-tuby": "^0.1.24",
92
  "react-virtualized-auto-sizer": "^1.0.20",
93
  "react-window-infinite-loader": "^1.0.9",
94
+ "runcss": "^0.1.8",
 
 
95
  "sharp": "^0.33.4",
96
+ "styled-components": "^6.1.12",
97
+ "tailwind-merge": "^2.5.2",
98
+ "tailwindcss": "^3.4.10",
99
  "tailwindcss-animate": "^1.0.7",
100
  "temp-dir": "^3.0.0",
101
  "ts-node": "^10.9.2",
 
111
  "@types/proper-lockfile": "^4.1.2",
112
  "@types/qs": "^6.9.7",
113
  "@types/react-copy-to-clipboard": "^5.0.7",
114
+ "@types/react-virtualized": "^9.21.22"
 
 
115
  }
116
  },
117
  "node_modules/@aitube/clap": {
118
+ "version": "0.2.3",
119
+ "resolved": "https://registry.npmjs.org/@aitube/clap/-/clap-0.2.3.tgz",
120
+ "integrity": "sha512-qT0wI6R5BrkIWDr1Dog/GPMYjKnwy5glwO3MibPcM0BWJVQlbj0cy0qbwH+wZPC1ZmRZnaJPlhCEj5e3/U6UsA==",
121
  "dependencies": {
122
  "pure-uuid": "^1.8.1"
123
  },
 
126
  }
127
  },
128
  "node_modules/@aitube/client": {
129
+ "version": "0.2.3",
130
+ "resolved": "https://registry.npmjs.org/@aitube/client/-/client-0.2.3.tgz",
131
+ "integrity": "sha512-REgFjqvK2I+Qe4tbabHwtU5uNxQwOHMXY2XQAIN34Ff7wrd4Y4vaWB3EZ37l/yKgt7Bd3kldp2ddDt09osedMQ==",
132
  "dependencies": {
133
  "query-string": "^9.0.0"
134
  },
135
  "peerDependencies": {
136
+ "@aitube/clap": "0.2.3"
137
  }
138
  },
139
  "node_modules/@aitube/engine": {
140
+ "version": "0.2.3",
141
+ "resolved": "https://registry.npmjs.org/@aitube/engine/-/engine-0.2.3.tgz",
142
+ "integrity": "sha512-y6KktN1BU5L/WFC5rrNwx0CHdQYM9xPJX1fTPZVDYfZC/6NJhn1Rm1SAnV1SkkP+3NCDQBabKvUivjmZY0CFDw==",
143
  "peerDependencies": {
144
+ "@aitube/clap": "0.2.3"
145
  }
146
  },
147
  "node_modules/@alloc/quick-lru": {
 
156
  }
157
  },
158
  "node_modules/@babel/runtime": {
159
+ "version": "7.25.0",
160
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz",
161
+ "integrity": "sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==",
162
  "dependencies": {
163
  "regenerator-runtime": "^0.14.0"
164
  },
 
914
  }
915
  },
916
  "node_modules/@floating-ui/core": {
917
+ "version": "1.6.7",
918
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.7.tgz",
919
+ "integrity": "sha512-yDzVT/Lm101nQ5TCVeK65LtdN7Tj4Qpr9RTXJ2vPFLqtLxwOrpoxAHAJI8J3yYWUc40J0BDBheaitK5SJmno2g==",
920
  "dependencies": {
921
+ "@floating-ui/utils": "^0.2.7"
922
  }
923
  },
924
  "node_modules/@floating-ui/dom": {
925
+ "version": "1.6.10",
926
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.10.tgz",
927
+ "integrity": "sha512-fskgCFv8J8OamCmyun8MfjB1Olfn+uZKjOKZ0vhYF3gRmEUXcGOjxWL8bBr7i4kIuPZ2KD2S3EUIOxnjC8kl2A==",
928
  "dependencies": {
929
  "@floating-ui/core": "^1.6.0",
930
+ "@floating-ui/utils": "^0.2.7"
931
  }
932
  },
933
  "node_modules/@floating-ui/react-dom": {
 
943
  }
944
  },
945
  "node_modules/@floating-ui/utils": {
946
+ "version": "0.2.7",
947
+ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.7.tgz",
948
+ "integrity": "sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA=="
949
  },
950
  "node_modules/@huggingface/hub": {
951
+ "version": "0.15.1",
952
+ "resolved": "https://registry.npmjs.org/@huggingface/hub/-/hub-0.15.1.tgz",
953
+ "integrity": "sha512-uHb4aFkJDoGfLeRHfFTjkI36Z8IV6Z1c+KzhMDqUSC56opyr7Mn1Nsx7Rri/C7KDwROhQfBp/fOOqqjTzn6Cgg==",
954
  "dependencies": {
955
+ "@huggingface/tasks": "^0.10.6",
956
  "hash-wasm": "^4.9.0"
957
  },
958
  "engines": {
 
970
  "node": ">=18"
971
  }
972
  },
973
+ "node_modules/@huggingface/inference/node_modules/@huggingface/tasks": {
974
+ "version": "0.11.10",
975
+ "resolved": "https://registry.npmjs.org/@huggingface/tasks/-/tasks-0.11.10.tgz",
976
+ "integrity": "sha512-Dbc5xMTjFyo+6SkDnQ7conDXYY7Pd6GA5DVUxqEmLoIMqNNHsC0VkidDdMooSCmBUb456VuZhwrCaPhqyg7stA=="
977
+ },
978
  "node_modules/@huggingface/tasks": {
979
+ "version": "0.10.22",
980
+ "resolved": "https://registry.npmjs.org/@huggingface/tasks/-/tasks-0.10.22.tgz",
981
+ "integrity": "sha512-sCtp+A6sq6NXoUU7NXuXWoVNNjKddk1GTQIh3cJ6illF8S4zmFoerCVRvFf19BdgICGvF+RVZiv9sGGK9KRDTg=="
982
  },
983
  "node_modules/@humanwhocodes/config-array": {
984
  "version": "0.11.14",
 
1721
  }
1722
  },
1723
  "node_modules/@photo-sphere-viewer/core": {
1724
+ "version": "5.9.0",
1725
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/core/-/core-5.9.0.tgz",
1726
+ "integrity": "sha512-Th8S2SbKpKEE5l150Mh0Na+3RirceJL9ioRl+33kE59s0Dx675snGWI7gy/xFKEWsdYOhj9f6xNWZ8MSqs8RhQ==",
1727
  "dependencies": {
1728
+ "three": "^0.167.0"
1729
  }
1730
  },
1731
  "node_modules/@photo-sphere-viewer/equirectangular-video-adapter": {
1732
+ "version": "5.9.0",
1733
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/equirectangular-video-adapter/-/equirectangular-video-adapter-5.9.0.tgz",
1734
+ "integrity": "sha512-mQPnuKQPQvtNKMtjY8M3b6ANupA7soSDDLL/R8igtlP9vGMPgbVzPmGbrkyq6Ed2bQr+u8j2LkT38ztZ70Ingg==",
1735
  "peerDependencies": {
1736
+ "@photo-sphere-viewer/core": "5.9.0"
1737
  }
1738
  },
1739
  "node_modules/@photo-sphere-viewer/gyroscope-plugin": {
1740
+ "version": "5.9.0",
1741
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/gyroscope-plugin/-/gyroscope-plugin-5.9.0.tgz",
1742
+ "integrity": "sha512-g8sTy532JXk7e2H7AIpdiLew+facw1pbLr04ixDncKf2cjam/2D+K++/m98AptlD0xctiUUZwa759f/m9k5PJA==",
1743
  "peerDependencies": {
1744
+ "@photo-sphere-viewer/core": "5.9.0"
1745
  }
1746
  },
1747
  "node_modules/@photo-sphere-viewer/markers-plugin": {
1748
+ "version": "5.9.0",
1749
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/markers-plugin/-/markers-plugin-5.9.0.tgz",
1750
+ "integrity": "sha512-jNy6avSp5v1WDqsRLWgaXfuNt8cF1EgvjqOv+M+J/BVbCJ2dMDpSM90vQWbNqnizTrrTse21u0+fkkfv7qiNcw==",
1751
  "peerDependencies": {
1752
+ "@photo-sphere-viewer/core": "5.9.0"
1753
  }
1754
  },
1755
  "node_modules/@photo-sphere-viewer/overlays-plugin": {
1756
+ "version": "5.9.0",
1757
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/overlays-plugin/-/overlays-plugin-5.9.0.tgz",
1758
+ "integrity": "sha512-1ZnvQwxN8TJ6cxXkNt3A+aHe4BCrs52OTk8hmwq5UlKY/hq0v41dUBCsIonwF3OFXMALOAkmUA/Gh2XZ67KR+Q==",
1759
  "peerDependencies": {
1760
+ "@photo-sphere-viewer/core": "5.9.0"
1761
  }
1762
  },
1763
  "node_modules/@photo-sphere-viewer/resolution-plugin": {
1764
+ "version": "5.9.0",
1765
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/resolution-plugin/-/resolution-plugin-5.9.0.tgz",
1766
+ "integrity": "sha512-KQOlCedOEd6wHdrXsG2VobCbdJL756ssSVUjxaXUTuZ68tZnwlLSSKSPlK2OTRrsko0Nn8tyeuYnJ7F7nMFglw==",
1767
  "peerDependencies": {
1768
+ "@photo-sphere-viewer/core": "5.9.0",
1769
+ "@photo-sphere-viewer/settings-plugin": "5.9.0"
1770
  }
1771
  },
1772
  "node_modules/@photo-sphere-viewer/settings-plugin": {
1773
+ "version": "5.9.0",
1774
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/settings-plugin/-/settings-plugin-5.9.0.tgz",
1775
+ "integrity": "sha512-bUzPt2myXUAe5I5LyCaYYHr8Vu1/gvuYhp3Ua4+eRkiY/wczdY0/62tgZoZ5ROKJ5rZsji0hB2tUeJa01nwlZA==",
1776
  "peerDependencies": {
1777
+ "@photo-sphere-viewer/core": "5.9.0"
1778
  }
1779
  },
1780
  "node_modules/@photo-sphere-viewer/stereo-plugin": {
1781
+ "version": "5.9.0",
1782
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/stereo-plugin/-/stereo-plugin-5.9.0.tgz",
1783
+ "integrity": "sha512-tjPtwSkHM/v/52sfbXpVaGYATRfxHAKEnwkr+myZtpMOJVWjnR8G70cR/B3NbJTprBMoAf/76JGuIL4KmiuU2Q==",
1784
  "peerDependencies": {
1785
+ "@photo-sphere-viewer/core": "5.9.0",
1786
+ "@photo-sphere-viewer/gyroscope-plugin": "5.9.0"
1787
  }
1788
  },
1789
  "node_modules/@photo-sphere-viewer/video-plugin": {
1790
+ "version": "5.9.0",
1791
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/video-plugin/-/video-plugin-5.9.0.tgz",
1792
+ "integrity": "sha512-u1li4KEO7iRMhlLWZsn55Jprb8LdSyFbisvHvk75wcSLGZIZj24vabogPrDtdiXuELaC1DTD6En9IpVD/H+mGQ==",
1793
  "peerDependencies": {
1794
+ "@photo-sphere-viewer/core": "5.9.0"
1795
  }
1796
  },
1797
  "node_modules/@photo-sphere-viewer/visible-range-plugin": {
1798
+ "version": "5.9.0",
1799
+ "resolved": "https://registry.npmjs.org/@photo-sphere-viewer/visible-range-plugin/-/visible-range-plugin-5.9.0.tgz",
1800
+ "integrity": "sha512-RkvWclqBqNl/YZqZgw2Ed86ciy5uwoXiMKKXpj0k0FsDzWSjM5ncRejTzI0s3Zbx3wXIftyc9XSTsiox3r0MeA==",
1801
  "peerDependencies": {
1802
+ "@photo-sphere-viewer/core": "5.9.0"
1803
  }
1804
  },
1805
  "node_modules/@pkgjs/parseargs": {
 
2843
  }
2844
  },
2845
  "node_modules/@rushstack/eslint-patch": {
2846
+ "version": "1.10.4",
2847
+ "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz",
2848
+ "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA=="
2849
  },
2850
  "node_modules/@swc/counter": {
2851
  "version": "0.1.3",
 
2869
  "tailwindcss": ">=3.2.0"
2870
  }
2871
  },
 
 
 
 
 
2872
  "node_modules/@tsconfig/node10": {
2873
  "version": "1.0.11",
2874
  "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz",
 
2890
  "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA=="
2891
  },
2892
  "node_modules/@types/cookie": {
2893
+ "version": "0.6.0",
2894
+ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
2895
+ "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA=="
2896
  },
2897
  "node_modules/@types/fluent-ffmpeg": {
2898
+ "version": "2.1.25",
2899
+ "resolved": "https://registry.npmjs.org/@types/fluent-ffmpeg/-/fluent-ffmpeg-2.1.25.tgz",
2900
+ "integrity": "sha512-a9/Jtv/RVaCG4lUwWIcuClWE5eXJFoFS/oHOecOv/RS8n+lQdJzcJVmDlxA8Xbk4B82YpO88Dijcoljb6sYTcA==",
2901
  "dev": true,
2902
  "dependencies": {
2903
  "@types/node": "*"
 
2998
  "integrity": "sha512-3xSjTp3v03X/lSQLkczaN9UIEwJMoMCA1+Nb5HfbJEQWogdeQIyVtTvxPXDQjZ5zws8rFQfVfRdz03ARihPJgw==",
2999
  "dev": true
3000
  },
 
 
 
 
 
 
3001
  "node_modules/@types/scheduler": {
3002
  "version": "0.23.0",
3003
  "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.23.0.tgz",
 
3118
  }
3119
  },
3120
  "node_modules/@upstash/redis": {
3121
+ "version": "1.34.0",
3122
+ "resolved": "https://registry.npmjs.org/@upstash/redis/-/redis-1.34.0.tgz",
3123
+ "integrity": "sha512-TrXNoJLkysIl8SBc4u9bNnyoFYoILpCcFJcLyWCccb/QSUmaVKdvY0m5diZqc3btExsapcMbaw/s/wh9Sf1pJw==",
3124
  "dependencies": {
3125
  "crypto-js": "^4.2.0"
3126
  }
 
3198
  }
3199
  },
3200
  "node_modules/alchemy-sdk": {
3201
+ "version": "3.4.1",
3202
+ "resolved": "https://registry.npmjs.org/alchemy-sdk/-/alchemy-sdk-3.4.1.tgz",
3203
+ "integrity": "sha512-GeL8J6VIiE7tIgXevkcm0VqdZnhO0EpOXQQCzUMsoMrj92hBKj9ZmUjyPxXF8tUdsHYixQApng2eJXoRWmv5lw==",
3204
  "dependencies": {
3205
  "@ethersproject/abi": "^5.7.0",
3206
  "@ethersproject/abstract-provider": "^5.7.0",
 
3213
  "@ethersproject/units": "^5.7.0",
3214
  "@ethersproject/wallet": "^5.7.0",
3215
  "@ethersproject/web": "^5.7.0",
3216
+ "axios": "^1.7.4",
3217
  "sturdy-websocket": "^0.2.1",
3218
  "websocket": "^1.0.34"
3219
  }
 
3452
  "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
3453
  },
3454
  "node_modules/autoprefixer": {
3455
+ "version": "10.4.20",
3456
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz",
3457
+ "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==",
3458
  "funding": [
3459
  {
3460
  "type": "opencollective",
 
3470
  }
3471
  ],
3472
  "dependencies": {
3473
+ "browserslist": "^4.23.3",
3474
+ "caniuse-lite": "^1.0.30001646",
3475
  "fraction.js": "^4.3.7",
3476
  "normalize-range": "^0.1.2",
3477
+ "picocolors": "^1.0.1",
3478
  "postcss-value-parser": "^4.2.0"
3479
  },
3480
  "bin": {
 
3502
  }
3503
  },
3504
  "node_modules/axe-core": {
3505
+ "version": "4.10.0",
3506
+ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz",
3507
+ "integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==",
3508
  "engines": {
3509
  "node": ">=4"
3510
  }
3511
  },
3512
  "node_modules/axios": {
3513
+ "version": "1.7.4",
3514
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz",
3515
+ "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==",
3516
  "dependencies": {
3517
  "follow-redirects": "^1.15.6",
3518
  "form-data": "^4.0.0",
 
3553
  "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
3554
  "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ=="
3555
  },
 
 
 
 
 
3556
  "node_modules/brace-expansion": {
3557
  "version": "1.1.11",
3558
  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
 
3579
  "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w=="
3580
  },
3581
  "node_modules/browserslist": {
3582
+ "version": "4.23.3",
3583
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz",
3584
+ "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==",
3585
  "funding": [
3586
  {
3587
  "type": "opencollective",
 
3597
  }
3598
  ],
3599
  "dependencies": {
3600
+ "caniuse-lite": "^1.0.30001646",
3601
+ "electron-to-chromium": "^1.5.4",
3602
+ "node-releases": "^2.0.18",
3603
  "update-browserslist-db": "^1.1.0"
3604
  },
3605
  "bin": {
 
3675
  }
3676
  },
3677
  "node_modules/caniuse-lite": {
3678
+ "version": "1.0.30001651",
3679
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz",
3680
+ "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==",
3681
  "funding": [
3682
  {
3683
  "type": "opencollective",
 
3708
  "url": "https://github.com/chalk/chalk?sponsor=1"
3709
  }
3710
  },
3711
+ "node_modules/charenc": {
3712
+ "version": "0.0.2",
3713
+ "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
3714
+ "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==",
3715
+ "engines": {
3716
+ "node": "*"
3717
+ }
3718
+ },
3719
  "node_modules/chokidar": {
3720
  "version": "3.6.0",
3721
  "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
 
4184
  "simple-swizzle": "^0.2.2"
4185
  }
4186
  },
 
 
 
 
 
 
4187
  "node_modules/combined-stream": {
4188
  "version": "1.0.8",
4189
  "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
 
4209
  "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
4210
  },
4211
  "node_modules/cookie": {
4212
+ "version": "0.6.0",
4213
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
4214
+ "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
4215
  "engines": {
4216
  "node": ">= 0.6"
4217
  }
4218
  },
4219
  "node_modules/cookies-next": {
4220
+ "version": "4.2.1",
4221
+ "resolved": "https://registry.npmjs.org/cookies-next/-/cookies-next-4.2.1.tgz",
4222
+ "integrity": "sha512-qsjtZ8TLlxCSX2JphMQNhkm3V3zIMQ05WrLkBKBwu50npBbBfiZWIdmSMzBGcdGKfMK19E0PIitTfRFAdMGHXg==",
4223
  "dependencies": {
4224
+ "@types/cookie": "^0.6.0",
4225
+ "cookie": "^0.6.0"
 
4226
  }
4227
  },
 
 
 
 
 
4228
  "node_modules/copy-to-clipboard": {
4229
  "version": "3.3.3",
4230
  "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz",
 
4233
  "toggle-selection": "^1.0.6"
4234
  }
4235
  },
4236
+ "node_modules/core-js-pure": {
4237
+ "version": "3.38.0",
4238
+ "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.38.0.tgz",
4239
+ "integrity": "sha512-8balb/HAXo06aHP58mZMtXgD8vcnXz9tUDePgqBgJgKdmTlMt+jw3ujqniuBDQXMvTzxnMpxHFeuSM3g1jWQuQ==",
4240
+ "hasInstallScript": true,
4241
+ "peer": true,
4242
+ "funding": {
4243
+ "type": "opencollective",
4244
+ "url": "https://opencollective.com/core-js"
4245
+ }
4246
+ },
4247
  "node_modules/create-require": {
4248
  "version": "1.1.1",
4249
  "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
 
4262
  "node": ">= 8"
4263
  }
4264
  },
4265
+ "node_modules/crypt": {
4266
+ "version": "0.0.2",
4267
+ "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
4268
+ "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==",
4269
+ "engines": {
4270
+ "node": "*"
4271
+ }
4272
+ },
4273
  "node_modules/crypto-js": {
4274
  "version": "4.2.0",
4275
  "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz",
 
4283
  "node": ">=4"
4284
  }
4285
  },
 
 
 
 
 
 
 
 
 
 
4286
  "node_modules/css-to-react-native": {
4287
  "version": "3.2.0",
4288
  "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz",
 
4321
  "node": ">=0.12"
4322
  }
4323
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4324
  "node_modules/damerau-levenshtein": {
4325
  "version": "1.0.8",
4326
  "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
 
4384
  }
4385
  },
4386
  "node_modules/debug": {
4387
+ "version": "4.3.6",
4388
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
4389
+ "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
4390
  "dependencies": {
4391
  "ms": "2.1.2"
4392
  },
 
4443
  "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
4444
  "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
4445
  },
 
 
 
 
 
 
 
 
4446
  "node_modules/define-data-property": {
4447
  "version": "1.1.4",
4448
  "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
 
4544
  "node": ">=6.0.0"
4545
  }
4546
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4547
  "node_modules/eastasianwidth": {
4548
  "version": "0.2.0",
4549
  "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
4550
  "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
4551
  },
4552
  "node_modules/electron-to-chromium": {
4553
+ "version": "1.5.8",
4554
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.8.tgz",
4555
+ "integrity": "sha512-4Nx0gP2tPNBLTrFxBMHpkQbtn2hidPVr/+/FTtcCiBYTucqc70zRyVZiOLj17Ui3wTO7SQ1/N+hkHYzJjBzt6A=="
4556
  },
4557
  "node_modules/elliptic": {
4558
  "version": "6.5.4",
 
4590
  "node": ">=10.13.0"
4591
  }
4592
  },
 
 
 
 
 
 
 
 
 
 
 
4593
  "node_modules/es-abstract": {
4594
  "version": "1.23.3",
4595
  "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz",
 
5307
  "node": ">= 4.9.1"
5308
  }
5309
  },
 
 
 
 
 
 
5310
  "node_modules/fastq": {
5311
  "version": "1.17.1",
5312
  "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
 
5432
  }
5433
  },
5434
  "node_modules/foreground-child": {
5435
+ "version": "3.3.0",
5436
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz",
5437
+ "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
5438
  "dependencies": {
5439
  "cross-spawn": "^7.0.0",
5440
  "signal-exit": "^4.0.1"
 
5476
  "node": ">= 12.20"
5477
  }
5478
  },
 
 
 
 
 
 
 
 
5479
  "node_modules/fraction.js": {
5480
  "version": "4.3.7",
5481
  "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
 
5811
  "minimalistic-crypto-utils": "^1.0.1"
5812
  }
5813
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5814
  "node_modules/humanize-ms": {
5815
  "version": "1.2.1",
5816
  "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
 
5820
  }
5821
  },
5822
  "node_modules/ignore": {
5823
+ "version": "5.3.2",
5824
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
5825
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
5826
  "engines": {
5827
  "node": ">= 4"
5828
  }
 
5972
  "url": "https://github.com/sponsors/ljharb"
5973
  }
5974
  },
5975
+ "node_modules/is-buffer": {
5976
+ "version": "1.1.6",
5977
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
5978
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
5979
+ },
5980
  "node_modules/is-callable": {
5981
  "version": "1.2.7",
5982
  "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
 
6134
  "node": ">=8"
6135
  }
6136
  },
 
 
 
 
 
 
 
 
6137
  "node_modules/is-regex": {
6138
  "version": "1.1.4",
6139
  "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
 
6149
  "url": "https://github.com/sponsors/ljharb"
6150
  }
6151
  },
6152
+ "node_modules/is-retina": {
6153
+ "version": "1.0.3",
6154
+ "resolved": "https://registry.npmjs.org/is-retina/-/is-retina-1.0.3.tgz",
6155
+ "integrity": "sha512-/tCmbIETZwCd8uHWO+GvbRa7jxwHFHdfetHfiwoP0aN9UDf3prUJMtKn7iBFYipYhqY1bSTjur8hC/Dakt8eyw=="
6156
+ },
6157
  "node_modules/is-set": {
6158
  "version": "2.0.3",
6159
  "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
 
6471
  "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="
6472
  },
6473
  "node_modules/lucide-react": {
6474
+ "version": "0.428.0",
6475
+ "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.428.0.tgz",
6476
+ "integrity": "sha512-rGrzslfEcgqwh+TLBC5qJ8wvVIXhLvAIXVFKNHndYyb1utSxxn9rXOC+1CNJLi6yNOooyPqIs6+3YCp6uSiEvg==",
6477
  "peerDependencies": {
6478
+ "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc"
6479
  }
6480
  },
6481
  "node_modules/make-error": {
 
6515
  "js-yaml": "bin/js-yaml.js"
6516
  }
6517
  },
6518
+ "node_modules/md5": {
6519
+ "version": "2.3.0",
6520
+ "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
6521
+ "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==",
6522
+ "dependencies": {
6523
+ "charenc": "0.0.2",
6524
+ "crypt": "0.0.2",
6525
+ "is-buffer": "~1.1.6"
6526
+ }
6527
+ },
6528
  "node_modules/merge2": {
6529
  "version": "1.4.1",
6530
  "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
 
6927
  }
6928
  },
6929
  "node_modules/openai": {
6930
+ "version": "4.55.9",
6931
+ "resolved": "https://registry.npmjs.org/openai/-/openai-4.55.9.tgz",
6932
+ "integrity": "sha512-gO2BVMuGirwoftSXw6OnC6YvLK+1ZuUrAlDfWAyDbWUuXsJ+RGDAjA7ZCTocgAwSzDZNUYUr3SJ7siFaF5zquQ==",
6933
  "dependencies": {
6934
  "@types/node": "^18.11.18",
6935
  "@types/node-fetch": "^2.6.4",
 
6937
  "agentkeepalive": "^4.2.1",
6938
  "form-data-encoder": "1.7.2",
6939
  "formdata-node": "^4.3.2",
6940
+ "node-fetch": "^2.6.7"
 
6941
  },
6942
  "bin": {
6943
  "openai": "bin/cli"
6944
+ },
6945
+ "peerDependencies": {
6946
+ "zod": "^3.23.8"
6947
+ },
6948
+ "peerDependenciesMeta": {
6949
+ "zod": {
6950
+ "optional": true
6951
+ }
6952
  }
6953
  },
6954
  "node_modules/openai/node_modules/@types/node": {
6955
+ "version": "18.19.44",
6956
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.44.tgz",
6957
+ "integrity": "sha512-ZsbGerYg72WMXUIE9fYxtvfzLEuq6q8mKERdWFnqTmOvudMxnz+CBNRoOwJ2kNpFOncrKjT1hZwxjlFgQ9qvQA==",
6958
  "dependencies": {
6959
  "undici-types": "~5.26.4"
6960
  }
 
7019
  "node": ">=6"
7020
  }
7021
  },
 
 
 
 
 
7022
  "node_modules/path-exists": {
7023
  "version": "4.0.0",
7024
  "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
 
7129
  }
7130
  },
7131
  "node_modules/postcss": {
7132
+ "version": "8.4.41",
7133
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz",
7134
+ "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==",
7135
  "funding": [
7136
  {
7137
  "type": "opencollective",
 
7148
  ],
7149
  "dependencies": {
7150
  "nanoid": "^3.3.7",
7151
+ "picocolors": "^1.0.1",
7152
  "source-map-js": "^1.2.0"
7153
  },
7154
  "engines": {
 
7259
  }
7260
  },
7261
  "node_modules/postcss-selector-parser": {
7262
+ "version": "6.1.2",
7263
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
7264
+ "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
7265
  "dependencies": {
7266
  "cssesc": "^3.0.0",
7267
  "util-deprecate": "^1.0.2"
 
7315
  }
7316
  },
7317
  "node_modules/qs": {
7318
+ "version": "6.13.0",
7319
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
7320
+ "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
7321
  "dependencies": {
7322
  "side-channel": "^1.0.6"
7323
  },
 
7374
  "node": ">=0.10.0"
7375
  }
7376
  },
7377
+ "node_modules/react-avatar": {
7378
+ "version": "5.0.3",
7379
+ "resolved": "https://registry.npmjs.org/react-avatar/-/react-avatar-5.0.3.tgz",
7380
+ "integrity": "sha512-DNc+qkWH9QehSEZqHBhqpXWsPY+rU9W7kD68QFHfu8Atfsvx/3ML0DzAePgTUd96nCXQQ3KZMcC3LKYT8FiBIg==",
7381
+ "dependencies": {
7382
+ "is-retina": "^1.0.3",
7383
+ "md5": "^2.0.0"
7384
+ },
7385
+ "peerDependencies": {
7386
+ "@babel/runtime": ">=7",
7387
+ "core-js-pure": ">=3",
7388
+ "prop-types": "^15.0.0 || ^16.0.0",
7389
+ "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0"
7390
+ }
7391
+ },
7392
  "node_modules/react-circular-progressbar": {
7393
  "version": "2.1.0",
7394
  "resolved": "https://registry.npmjs.org/react-circular-progressbar/-/react-circular-progressbar-2.1.0.tgz",
 
7524
  "react-dom": ">=16.8.0"
7525
  }
7526
  },
 
 
 
 
 
 
 
 
 
7527
  "node_modules/react-style-singleton": {
7528
  "version": "2.2.1",
7529
  "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz",
 
7768
  "url": "https://github.com/sponsors/ljharb"
7769
  }
7770
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7771
  "node_modules/scheduler": {
7772
  "version": "0.23.2",
7773
  "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
 
7792
  "node": ">=10"
7793
  }
7794
  },
 
 
 
 
 
 
 
 
 
7795
  "node_modules/set-function-length": {
7796
  "version": "1.2.2",
7797
  "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
 
8163
  "url": "https://github.com/sponsors/sindresorhus"
8164
  }
8165
  },
 
 
 
 
 
 
 
 
8166
  "node_modules/sturdy-websocket": {
8167
  "version": "0.2.1",
8168
  "resolved": "https://registry.npmjs.org/sturdy-websocket/-/sturdy-websocket-0.2.1.tgz",
 
8195
  "react-dom": ">= 16.8.0"
8196
  }
8197
  },
8198
+ "node_modules/styled-components/node_modules/postcss": {
8199
+ "version": "8.4.38",
8200
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
8201
+ "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
8202
+ "funding": [
8203
+ {
8204
+ "type": "opencollective",
8205
+ "url": "https://opencollective.com/postcss/"
8206
+ },
8207
+ {
8208
+ "type": "tidelift",
8209
+ "url": "https://tidelift.com/funding/github/npm/postcss"
8210
+ },
8211
+ {
8212
+ "type": "github",
8213
+ "url": "https://github.com/sponsors/ai"
8214
+ }
8215
+ ],
8216
+ "dependencies": {
8217
+ "nanoid": "^3.3.7",
8218
+ "picocolors": "^1.0.0",
8219
+ "source-map-js": "^1.2.0"
8220
+ },
8221
+ "engines": {
8222
+ "node": "^10 || ^12 || >=14"
8223
+ }
8224
+ },
8225
  "node_modules/styled-components/node_modules/tslib": {
8226
  "version": "2.6.2",
8227
  "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
 
8339
  }
8340
  },
8341
  "node_modules/tailwind-merge": {
8342
+ "version": "2.5.2",
8343
+ "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.5.2.tgz",
8344
+ "integrity": "sha512-kjEBm+pvD+6eAwzJL2Bi+02/9LFLal1Gs61+QB7HvTfQQ0aXwC5LGT8PEt1gS0CWKktKe6ysPTAy3cBC5MeiIg==",
8345
  "funding": {
8346
  "type": "github",
8347
  "url": "https://github.com/sponsors/dcastil"
8348
  }
8349
  },
8350
  "node_modules/tailwindcss": {
8351
+ "version": "3.4.10",
8352
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.10.tgz",
8353
+ "integrity": "sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==",
8354
  "dependencies": {
8355
  "@alloc/quick-lru": "^5.2.0",
8356
  "arg": "^5.0.2",
 
8432
  }
8433
  },
8434
  "node_modules/three": {
8435
+ "version": "0.167.1",
8436
+ "resolved": "https://registry.npmjs.org/three/-/three-0.167.1.tgz",
8437
+ "integrity": "sha512-gYTLJA/UQip6J/tJvl91YYqlZF47+D/kxiWrbTon35ZHlXEN0VOo+Qke2walF1/x92v55H6enomymg4Dak52kw=="
8438
  },
8439
  "node_modules/to-regex-range": {
8440
  "version": "5.0.1",
 
8561
  }
8562
  },
8563
  "node_modules/type-fest": {
8564
+ "version": "4.24.0",
8565
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.24.0.tgz",
8566
+ "integrity": "sha512-spAaHzc6qre0TlZQQ2aA/nGMe+2Z/wyGk5Z+Ru2VUfdNwT6kWO6TjevOlpebsATEG1EIQ2sOiDszud3lO5mt/Q==",
8567
  "engines": {
8568
  "node": ">=16"
8569
  },
 
8758
  }
8759
  },
8760
  "node_modules/use-sync-external-store": {
8761
+ "version": "1.2.2",
8762
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz",
8763
+ "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==",
8764
  "peerDependencies": {
8765
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
8766
  }
 
8814
  "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg=="
8815
  },
8816
  "node_modules/web-streams-polyfill": {
8817
+ "version": "4.0.0-beta.3",
8818
+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz",
8819
+ "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==",
8820
  "engines": {
8821
+ "node": ">= 14"
8822
  }
8823
  },
8824
  "node_modules/webidl-conversions": {
 
8894
  }
8895
  },
8896
  "node_modules/which-builtin-type": {
8897
+ "version": "1.1.4",
8898
+ "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz",
8899
+ "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==",
8900
  "dependencies": {
8901
+ "function.prototype.name": "^1.1.6",
8902
+ "has-tostringtag": "^1.0.2",
8903
  "is-async-function": "^2.0.0",
8904
  "is-date-object": "^1.0.5",
8905
  "is-finalizationregistry": "^1.0.2",
 
8908
  "is-weakref": "^1.0.2",
8909
  "isarray": "^2.0.5",
8910
  "which-boxed-primitive": "^1.0.2",
8911
+ "which-collection": "^1.0.2",
8912
+ "which-typed-array": "^1.1.15"
8913
  },
8914
  "engines": {
8915
  "node": ">= 0.4"
 
9112
  }
9113
  },
9114
  "node_modules/zustand": {
9115
+ "version": "4.5.5",
9116
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.5.tgz",
9117
+ "integrity": "sha512-+0PALYNJNgK6hldkgDq2vLrw5f6g/jCInz52n9RTpropGgeAf/ioFUCdtsjCqu4gNhW9D01rUQBROoRjdzyn2Q==",
9118
  "dependencies": {
9119
+ "use-sync-external-store": "1.2.2"
9120
  },
9121
  "engines": {
9122
  "node": ">=12.7.0"
package.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "name": "@aitube/website",
3
- "version": "0.1.2-0",
4
  "private": true,
5
  "scripts": {
6
  "patch": "cp -f patch.js node_modules/fluent-ffmpeg/index.js",
@@ -10,10 +10,10 @@
10
  "lint": "next lint"
11
  },
12
  "dependencies": {
13
- "@aitube/clap": "0.1.2",
14
- "@aitube/client": "0.1.2",
15
- "@aitube/engine": "0.1.2",
16
- "@huggingface/hub": "0.12.3-oauth",
17
  "@huggingface/inference": "^2.7.0",
18
  "@jcoreio/async-throttle": "^1.6.0",
19
  "@mediapipe/tasks-vision": "^0.10.14",
@@ -53,34 +53,34 @@
53
  "@types/uuid": "^9.0.2",
54
  "@upstash/query": "^0.0.2",
55
  "@upstash/redis": "^1.31.1",
56
- "alchemy-sdk": "^3.2.1",
57
- "autoprefixer": "10.4.19",
58
- "axios": "^1.6.8",
59
  "class-variance-authority": "^0.7.0",
60
- "clsx": "^2.1.0",
61
  "cmdk": "^1.0.0",
62
- "cookies-next": "^2.1.2",
63
  "date-fns": "^3.6.0",
64
  "eslint": "8.45.0",
65
  "eslint-config-next": "13.4.10",
66
  "fastest-levenshtein": "^1.0.16",
67
- "fluent-ffmpeg": "^2.1.2",
68
  "fun-word-list": "^1.0.1",
69
  "gsplat": "^1.2.4",
70
  "hash-wasm": "^4.11.0",
71
  "jose": "^5.2.4",
72
  "js-base64": "^3.7.7",
73
  "lodash.debounce": "^4.0.8",
74
- "lucide-react": "^0.260.0",
75
  "markdown-yaml-metadata-parser": "^3.0.0",
76
  "minisearch": "^6.3.0",
77
  "next": "^14.2.2",
78
  "openai": "^4.36.0",
79
  "photo-sphere-viewer-lensflare-plugin": "^2.1.2",
80
  "pick": "^0.0.1",
81
- "postcss": "8.4.38",
82
- "qs": "^6.12.0",
83
- "query-string": "^9.0.0",
84
  "react": "18.2.0",
85
  "react-circular-progressbar": "^2.1.0",
86
  "react-copy-to-clipboard": "^5.1.0",
@@ -89,17 +89,15 @@
89
  "react-icons": "^4.12.0",
90
  "react-photo-sphere-viewer": "^5.0.2-psv5.7.1",
91
  "react-smooth-scroll-hook": "^1.3.4",
92
- "react-string-avatar": "^1.2.2",
93
  "react-tuby": "^0.1.24",
94
  "react-virtualized-auto-sizer": "^1.0.20",
95
  "react-window-infinite-loader": "^1.0.9",
96
- "runcss": "^0.1.6",
97
- "sbd": "^1.0.19",
98
- "sentence-splitter": "^4.3.0",
99
  "sharp": "^0.33.4",
100
- "styled-components": "^6.1.8",
101
- "tailwind-merge": "^2.2.2",
102
- "tailwindcss": "3.4.3",
103
  "tailwindcss-animate": "^1.0.7",
104
  "temp-dir": "^3.0.0",
105
  "ts-node": "^10.9.2",
@@ -115,8 +113,6 @@
115
  "@types/proper-lockfile": "^4.1.2",
116
  "@types/qs": "^6.9.7",
117
  "@types/react-copy-to-clipboard": "^5.0.7",
118
- "@types/react-virtualized": "^9.21.22",
119
- "@types/sbd": "^1.0.3",
120
- "daisyui": "^3.7.4"
121
  }
122
  }
 
1
  {
2
  "name": "@aitube/website",
3
+ "version": "0.2.0",
4
  "private": true,
5
  "scripts": {
6
  "patch": "cp -f patch.js node_modules/fluent-ffmpeg/index.js",
 
10
  "lint": "next lint"
11
  },
12
  "dependencies": {
13
+ "@aitube/clap": "0.2.3",
14
+ "@aitube/client": "0.2.3",
15
+ "@aitube/engine": "0.2.3",
16
+ "@huggingface/hub": "0.15.1",
17
  "@huggingface/inference": "^2.7.0",
18
  "@jcoreio/async-throttle": "^1.6.0",
19
  "@mediapipe/tasks-vision": "^0.10.14",
 
53
  "@types/uuid": "^9.0.2",
54
  "@upstash/query": "^0.0.2",
55
  "@upstash/redis": "^1.31.1",
56
+ "alchemy-sdk": "^3.4.1",
57
+ "autoprefixer": "10.4.20",
58
+ "axios": "^1.7.4",
59
  "class-variance-authority": "^0.7.0",
60
+ "clsx": "^2.1.1",
61
  "cmdk": "^1.0.0",
62
+ "cookies-next": "^4.2.1",
63
  "date-fns": "^3.6.0",
64
  "eslint": "8.45.0",
65
  "eslint-config-next": "13.4.10",
66
  "fastest-levenshtein": "^1.0.16",
67
+ "fluent-ffmpeg": "^2.1.3",
68
  "fun-word-list": "^1.0.1",
69
  "gsplat": "^1.2.4",
70
  "hash-wasm": "^4.11.0",
71
  "jose": "^5.2.4",
72
  "js-base64": "^3.7.7",
73
  "lodash.debounce": "^4.0.8",
74
+ "lucide-react": "^0.428.0",
75
  "markdown-yaml-metadata-parser": "^3.0.0",
76
  "minisearch": "^6.3.0",
77
  "next": "^14.2.2",
78
  "openai": "^4.36.0",
79
  "photo-sphere-viewer-lensflare-plugin": "^2.1.2",
80
  "pick": "^0.0.1",
81
+ "postcss": "8.4.41",
82
+ "qs": "^6.13.0",
83
+ "query-string": "^9.1.0",
84
  "react": "18.2.0",
85
  "react-circular-progressbar": "^2.1.0",
86
  "react-copy-to-clipboard": "^5.1.0",
 
89
  "react-icons": "^4.12.0",
90
  "react-photo-sphere-viewer": "^5.0.2-psv5.7.1",
91
  "react-smooth-scroll-hook": "^1.3.4",
92
+ "react-avatar": "^5.0.3",
93
  "react-tuby": "^0.1.24",
94
  "react-virtualized-auto-sizer": "^1.0.20",
95
  "react-window-infinite-loader": "^1.0.9",
96
+ "runcss": "^0.1.8",
 
 
97
  "sharp": "^0.33.4",
98
+ "styled-components": "^6.1.12",
99
+ "tailwind-merge": "^2.5.2",
100
+ "tailwindcss": "^3.4.10",
101
  "tailwindcss-animate": "^1.0.7",
102
  "temp-dir": "^3.0.0",
103
  "ts-node": "^10.9.2",
 
113
  "@types/proper-lockfile": "^4.1.2",
114
  "@types/qs": "^6.9.7",
115
  "@types/react-copy-to-clipboard": "^5.0.7",
116
+ "@types/react-virtualized": "^9.21.22"
 
 
117
  }
118
  }
src/app/api/v1/edit/storyboards/generateStoryboardWithFlux.ts ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { HfInference, HfInferenceEndpoint } from '@huggingface/inference'
2
+ import { getValidNumber } from "@aitube/clap"
3
+
4
+ import { getNegativePrompt, getPositivePrompt } from "@/app/api/utils/imagePrompts"
5
+ import { adminApiKey } from '@/app/api/actions/config'
6
+
7
+ export async function generateStoryboardWithFlux({
8
+ prompt,
9
+ // negativePrompt,
10
+ identityImage,
11
+ width,
12
+ height,
13
+ seed,
14
+ turbo = false,
15
+ }: {
16
+ prompt: string
17
+ // negativePrompt?: string
18
+ identityImage?: string
19
+ width?: number
20
+ height?: number
21
+ seed?: number
22
+ turbo?: boolean
23
+ }): Promise<string> {
24
+
25
+ width = getValidNumber(width, 256, 2048, 512)
26
+ height = getValidNumber(height, 256, 2048, 288)
27
+
28
+
29
+ prompt = getPositivePrompt(prompt)
30
+ const negativePrompt = getNegativePrompt()
31
+
32
+
33
+ const hf: HfInferenceEndpoint = new HfInference(
34
+ adminApiKey
35
+ )
36
+
37
+ const blob: Blob = await hf.textToImage({
38
+ model: 'black-forest-labs/FLUX.1-schnell',
39
+ inputs: prompt,
40
+ parameters: {
41
+ height,
42
+ width,
43
+ // seed: seed || generateSeed(),
44
+
45
+ // this triggers the following exception:
46
+ // Error: __call__() got an unexpected keyword argument 'negative_prompt'
47
+ // negative_prompt: negativePrompt,
48
+
49
+ /**
50
+ * The number of denoising steps. More denoising steps usually lead to a higher quality image at the expense of slower inference.
51
+ */
52
+ // num_inference_steps?: number;
53
+ /**
54
+ * Guidance scale: Higher guidance scale encourages to generate images that are closely linked to the text `prompt`, usually at the expense of lower image quality.
55
+ */
56
+ // guidance_scale?: number;
57
+ },
58
+ })
59
+
60
+
61
+ const buffer = Buffer.from(await blob.arrayBuffer())
62
+
63
+ return `data:${blob.type || 'image/jpeg'};base64,${buffer.toString('base64')}`
64
+ }
src/app/api/v1/render/animatediff-lightning/cluster.ts CHANGED
@@ -4,7 +4,7 @@ import { ClusterMachine } from "../../types"
4
 
5
  // video generation requires A100s so we need to be parcimonous here,
6
  // we shouldn't burn too many GPUs
7
- export const nbClusterMachines = 3
8
  // make sure the machines are running!!
9
 
10
  // https://huggingface.co/spaces/jbilcke-hf/ai-tube-model-adl-1/settings
 
4
 
5
  // video generation requires A100s so we need to be parcimonous here,
6
  // we shouldn't burn too many GPUs
7
+ export const nbClusterMachines = 2
8
  // make sure the machines are running!!
9
 
10
  // https://huggingface.co/spaces/jbilcke-hf/ai-tube-model-adl-1/settings
src/app/layout.tsx CHANGED
@@ -1,6 +1,4 @@
1
  import type { Metadata } from 'next'
2
- import Head from 'next/head'
3
- import Script from "next/script"
4
  import { Roboto } from 'next/font/google'
5
  import './globals.css'
6
 
@@ -25,7 +23,7 @@ export default function RootLayout({
25
  }) {
26
  return (
27
  <html lang="en">
28
- <Head>
29
  <link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="anonymous" />
30
  <link rel="preconnect" href="https://fonts.googleapis.com" crossOrigin="anonymous" />
31
  <meta name="viewport" content="width=device-width, initial-scale=0.86, maximum-scale=5.0, minimum-scale=0.86" />
@@ -36,7 +34,7 @@ export default function RootLayout({
36
  type="image/<generated>"
37
  sizes="<generated>"
38
  />
39
- </Head>
40
  <body className={cn(
41
  `h-full w-full overflow-auto`,
42
  `dark text-neutral-100 bg-neutral-950`,
 
1
  import type { Metadata } from 'next'
 
 
2
  import { Roboto } from 'next/font/google'
3
  import './globals.css'
4
 
 
23
  }) {
24
  return (
25
  <html lang="en">
26
+ <head>
27
  <link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="anonymous" />
28
  <link rel="preconnect" href="https://fonts.googleapis.com" crossOrigin="anonymous" />
29
  <meta name="viewport" content="width=device-width, initial-scale=0.86, maximum-scale=5.0, minimum-scale=0.86" />
 
34
  type="image/<generated>"
35
  sizes="<generated>"
36
  />
37
+ </head>
38
  <body className={cn(
39
  `h-full w-full overflow-auto`,
40
  `dark text-neutral-100 bg-neutral-950`,
src/app/legacy_page.tsx ADDED
@@ -0,0 +1,87 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import { AppQueryProps } from "@/types/general"
3
+
4
+ import { Main } from "./main"
5
+ import { getVideo } from "./api/actions/ai-tube-hf/getVideo"
6
+ import { Metadata, ResolvingMetadata } from "next"
7
+
8
+
9
+ export async function generateMetadata(
10
+ { params, searchParams: { v: videoId } }: AppQueryProps,
11
+ parent: ResolvingMetadata
12
+ ): Promise<Metadata> {
13
+ // read route params
14
+
15
+ const metadataBase = new URL('https://huggingface.co/spaces/jbilcke-hf/ai-tube')
16
+
17
+ if (!videoId) {
18
+ return {
19
+ title: `🍿 AiTube`,
20
+ metadataBase,
21
+ openGraph: {
22
+ type: "website",
23
+ // url: "https://example.com",
24
+ title: "AiTube",
25
+ description: "The first fully AI generated video platform",
26
+ siteName: "🍿 AiTube",
27
+
28
+ videos: [],
29
+ images: [],
30
+ },
31
+ }
32
+ }
33
+
34
+ try {
35
+ const video = await getVideo({ videoId, neverThrow: true })
36
+
37
+ if (!video) {
38
+ throw new Error("Video not found")
39
+ }
40
+
41
+ return {
42
+ title: `${video.label} - AiTube`,
43
+ metadataBase,
44
+ openGraph: {
45
+ type: "website",
46
+ // url: "https://example.com",
47
+ title: video.label || "", // put the video title here
48
+ description: video.description || "", // put the vide description here
49
+ siteName: "AiTube",
50
+
51
+ videos: [
52
+ {
53
+ "url": video.assetUrlHd || video.assetUrl
54
+ }
55
+ ],
56
+ // images: ['/some-specific-page-image.jpg', ...previousImages],
57
+ },
58
+ }
59
+ } catch (err) {
60
+ return {
61
+ title: "AiTube",
62
+ metadataBase,
63
+ openGraph: {
64
+ type: "website",
65
+ // url: "https://example.com",
66
+ title: "AiTube", // put the video title here
67
+ description: "", // put the vide description here
68
+ siteName: "AiTube",
69
+
70
+ videos: [],
71
+ images: [],
72
+ },
73
+ }
74
+ }
75
+ }
76
+
77
+ // we have routes but on Hugging Face we don't see them
78
+ // so.. let's use the work around
79
+ export default async function Page({ searchParams: { v: videoId } }: AppQueryProps) {
80
+ const publicMedia = await getVideo({
81
+ videoId,
82
+ neverThrow: true
83
+ })
84
+ return (
85
+ <Main publicMedia={publicMedia} />
86
+ )
87
+ }
src/app/page.tsx CHANGED
@@ -82,6 +82,11 @@ export default async function Page({ searchParams: { v: videoId } }: AppQueryPro
82
  neverThrow: true
83
  })
84
  return (
85
- <Main publicMedia={publicMedia} />
 
 
 
 
 
86
  )
87
  }
 
82
  neverThrow: true
83
  })
84
  return (
85
+ <div className="flex flex-col items-center justify-center h-screen v-screen bg-stone-900">
86
+ <div className="flex flex-col items-center justify-center text-center w-2/3 h-2/3">
87
+ <h1 className="text-5xl">AiTube is being re-imagined.</h1>
88
+ <p className="text-2xl mt-8">Please come back in 2025.</p>
89
+ </div>
90
+ </div>
91
  )
92
  }
src/app/views/public-channel-view/index.tsx CHANGED
@@ -68,11 +68,11 @@ export function PublicChannelView() {
68
  className="w-full h-full overflow-hidden object-cover"
69
  />
70
  : <DefaultAvatar
71
- username={publicChannel.datasetUser}
72
- bgColor="#fde047"
73
- textColor="#1c1917"
74
- width={160}
75
- roundShape
76
  />}
77
  </div>
78
 
@@ -92,11 +92,11 @@ export function PublicChannelView() {
92
  className="w-40 h-40 overflow-hidden"
93
  />
94
  : <DefaultAvatar
95
- username={publicChannel.datasetUser}
96
- bgColor="#fde047"
97
- textColor="#1c1917"
98
- width={160}
99
- roundShape
100
  />}
101
  </div>
102
 
 
68
  className="w-full h-full overflow-hidden object-cover"
69
  />
70
  : <DefaultAvatar
71
+ name={publicChannel.datasetUser}
72
+ color="#fde047"
73
+ fgColor="#1c1917"
74
+ size="160"
75
+ round
76
  />}
77
  </div>
78
 
 
92
  className="w-40 h-40 overflow-hidden"
93
  />
94
  : <DefaultAvatar
95
+ name={publicChannel.datasetUser}
96
+ color="#fde047"
97
+ fgColor="#1c1917"
98
+ size="160"
99
+ round
100
  />}
101
  </div>
102
 
src/app/views/public-media-view/index.tsx CHANGED
@@ -255,11 +255,11 @@ export function PublicMediaView() {
255
  </div>
256
  </div>
257
  : <DefaultAvatar
258
- username={media.channel.datasetUser}
259
- bgColor="#fde047"
260
- textColor="#1c1917"
261
- width={36}
262
- roundShape
263
  />}
264
  </div>
265
  </a>
@@ -423,11 +423,11 @@ export function PublicMediaView() {
423
  />
424
  </div>
425
  : <DefaultAvatar
426
- username={user?.userName}
427
- bgColor="#fde047"
428
- textColor="#1c1917"
429
- width={36}
430
- roundShape
431
  />}
432
  </div>
433
 
 
255
  </div>
256
  </div>
257
  : <DefaultAvatar
258
+ name={media.channel.datasetUser}
259
+ color="#fde047"
260
+ fgColor="#1c1917"
261
+ size="36"
262
+ round
263
  />}
264
  </div>
265
  </a>
 
423
  />
424
  </div>
425
  : <DefaultAvatar
426
+ name={user?.userName}
427
+ color="#fde047"
428
+ fgColor="#1c1917"
429
+ size="36"
430
+ round
431
  />}
432
  </div>
433
 
src/components/interface/channel-card/index.tsx CHANGED
@@ -74,11 +74,11 @@ export function ChannelCard({
74
  onError={handleBadChannelThumbnail}
75
  />
76
  : <DefaultAvatar
77
- username={channel.datasetUser}
78
- bgColor="#fde047"
79
- textColor="#1c1917"
80
- width={104}
81
- roundShape
82
  />}
83
  </div>
84
 
 
74
  onError={handleBadChannelThumbnail}
75
  />
76
  : <DefaultAvatar
77
+ name={channel.datasetUser}
78
+ color="#fde047"
79
+ fgColor="#1c1917"
80
+ size="104"
81
+ round
82
  />}
83
  </div>
84
 
src/components/interface/collection-card/index.tsx CHANGED
@@ -134,11 +134,11 @@ export function CollectionCard({
134
  </div>
135
  </div>
136
  : <DefaultAvatar
137
- username={collection.channel.datasetUser}
138
- bgColor="#fde047"
139
- textColor="#1c1917"
140
- width={36}
141
- roundShape
142
  />}
143
  <div className={cn(
144
  `flex flex-col`,
 
134
  </div>
135
  </div>
136
  : <DefaultAvatar
137
+ name={collection.channel.datasetUser}
138
+ color="#fde047"
139
+ fgColor="#1c1917"
140
+ size="36"
141
+ round
142
  />}
143
  <div className={cn(
144
  `flex flex-col`,
src/components/interface/comment-card/index.tsx CHANGED
@@ -58,11 +58,11 @@ export function CommentCard({
58
  />
59
  </div>
60
  : <DefaultAvatar
61
- username={comment?.userInfo?.userName}
62
- bgColor="#fde047"
63
- textColor="#1c1917"
64
- width={36}
65
- roundShape
66
  />}
67
  </div>
68
 
 
58
  />
59
  </div>
60
  : <DefaultAvatar
61
+ name={comment?.userInfo?.userName}
62
+ color="#fde047"
63
+ fgColor="#1c1917"
64
+ size="36"
65
+ round
66
  />}
67
  </div>
68
 
src/components/interface/default-avatar/impl.tsx CHANGED
@@ -1,47 +1,10 @@
1
  "use client"
2
 
3
- import RSA from "react-string-avatar"
4
-
5
- export type DefaultAvatarProps = {
6
- username?: string
7
- initials?: string
8
- bgColor?: string
9
- textColor?: string
10
- roundShape?: boolean
11
- cornerRadius?: number
12
- pictureFormat?: string
13
- pictureResolution?: number
14
- width?: number
15
- pixelated?: boolean
16
- wrapper?: boolean
17
- wrapperStyle?: Record<string, any>
18
- }
19
-
20
- export type DefaultAvatarComponent = (props: DefaultAvatarProps) => JSX.Element
21
-
22
- const ReactStringAvatar = RSA as DefaultAvatarComponent
23
-
24
-
25
- export default function DefaultAvatarImpl({
26
- username,
27
- initials: customInitials,
28
- ...props
29
- }: DefaultAvatarProps): JSX.Element {
30
-
31
- const usernameInitials = `${username || ""}`
32
- .trim()
33
- .replaceAll("_", " ")
34
- .replaceAll("-", " ")
35
- .replace(/([a-z])([A-Z])/g, '$1 $2') // split the camel case
36
- .split(" ") // split words
37
- .map(u => u.trim()[0]) // take first char
38
- .slice(0, 2) // keep first 2 chars
39
- .join("")
40
- .toUpperCase()
41
 
 
42
  return (
43
- <ReactStringAvatar
44
- initials={customInitials || usernameInitials}
45
  {...props}
46
  />
47
  )
 
1
  "use client"
2
 
3
+ import Avatar, { ReactAvatarProps } from "react-avatar"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
 
5
+ export default function DefaultAvatarImpl(props: ReactAvatarProps): JSX.Element {
6
  return (
7
+ <Avatar
 
8
  {...props}
9
  />
10
  )
src/components/interface/track-card/index.tsx CHANGED
@@ -199,11 +199,11 @@ export function TrackCard({
199
  </div>
200
  </div>
201
  : <DefaultAvatar
202
- username={media.channel.datasetUser}
203
- bgColor="#fde047"
204
- textColor="#1c1917"
205
- width={36}
206
- roundShape
207
  />}
208
  <div className={cn(
209
  `flex`,
 
199
  </div>
200
  </div>
201
  : <DefaultAvatar
202
+ name={media.channel.datasetUser}
203
+ color="#fde047"
204
+ fgColor="#1c1917"
205
+ size="36"
206
+ round
207
  />}
208
  <div className={cn(
209
  `flex`,
src/components/interface/video-card/index.tsx CHANGED
@@ -191,11 +191,11 @@ export function VideoCard({
191
  </div>
192
  </div>
193
  : <DefaultAvatar
194
- username={media.channel.datasetUser}
195
- bgColor="#fde047"
196
- textColor="#1c1917"
197
- width={36}
198
- roundShape
199
  />}
200
  <div className={cn(
201
  `flex flex-col`,
 
191
  </div>
192
  </div>
193
  : <DefaultAvatar
194
+ name={media.channel.datasetUser}
195
+ color="#fde047"
196
+ fgColor="#1c1917"
197
+ size="36"
198
+ round
199
  />}
200
  <div className={cn(
201
  `flex flex-col`,
tailwind.config.js CHANGED
@@ -80,6 +80,5 @@ module.exports = {
80
  plugins: [
81
  require('@tailwindcss/container-queries'),
82
  require("tailwindcss-animate"),
83
- require("daisyui"),
84
  ],
85
  }
 
80
  plugins: [
81
  require('@tailwindcss/container-queries'),
82
  require("tailwindcss-animate"),
 
83
  ],
84
  }