Spaces:
Sleeping
Sleeping
first base
Browse files- package-lock.json +701 -2
- package.json +6 -1
- src/app/api/data/route.ts +35 -0
- src/app/api/inference/route.ts +47 -0
- src/components/DataDisplay.tsx +0 -0
- src/components/ModelInterface.tsx +0 -0
- src/hooks/index.ts +0 -0
- src/lib/huggingface.ts +53 -0
- src/lib/supabase-server.ts +25 -0
- src/lib/supabase.ts +8 -0
- src/types/index.ts +31 -0
- src/utils/index.ts +0 -0
- test-setup.ts +7 -0
package-lock.json
CHANGED
|
@@ -8,6 +8,9 @@
|
|
| 8 |
"name": "parrot",
|
| 9 |
"version": "0.1.0",
|
| 10 |
"dependencies": {
|
|
|
|
|
|
|
|
|
|
| 11 |
"next": "16.0.3",
|
| 12 |
"react": "19.2.0",
|
| 13 |
"react-dom": "19.2.0"
|
|
@@ -18,9 +21,11 @@
|
|
| 18 |
"@types/react": "^19",
|
| 19 |
"@types/react-dom": "^19",
|
| 20 |
"babel-plugin-react-compiler": "1.0.0",
|
|
|
|
| 21 |
"eslint": "^9",
|
| 22 |
"eslint-config-next": "16.0.3",
|
| 23 |
"tailwindcss": "^4",
|
|
|
|
| 24 |
"typescript": "^5"
|
| 25 |
}
|
| 26 |
},
|
|
@@ -310,6 +315,448 @@
|
|
| 310 |
"tslib": "^2.4.0"
|
| 311 |
}
|
| 312 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 313 |
"node_modules/@eslint-community/eslint-utils": {
|
| 314 |
"version": "4.9.0",
|
| 315 |
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
|
|
@@ -454,6 +901,34 @@
|
|
| 454 |
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
| 455 |
}
|
| 456 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 457 |
"node_modules/@humanfs/core": {
|
| 458 |
"version": "0.19.1",
|
| 459 |
"resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
|
|
@@ -1234,6 +1709,97 @@
|
|
| 1234 |
"dev": true,
|
| 1235 |
"license": "MIT"
|
| 1236 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1237 |
"node_modules/@swc/helpers": {
|
| 1238 |
"version": "0.5.15",
|
| 1239 |
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz",
|
|
@@ -1550,12 +2116,17 @@
|
|
| 1550 |
"version": "20.19.25",
|
| 1551 |
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.25.tgz",
|
| 1552 |
"integrity": "sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==",
|
| 1553 |
-
"dev": true,
|
| 1554 |
"license": "MIT",
|
| 1555 |
"dependencies": {
|
| 1556 |
"undici-types": "~6.21.0"
|
| 1557 |
}
|
| 1558 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1559 |
"node_modules/@types/react": {
|
| 1560 |
"version": "19.2.5",
|
| 1561 |
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.5.tgz",
|
|
@@ -1576,6 +2147,15 @@
|
|
| 1576 |
"@types/react": "^19.2.0"
|
| 1577 |
}
|
| 1578 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1579 |
"node_modules/@typescript-eslint/eslint-plugin": {
|
| 1580 |
"version": "8.46.4",
|
| 1581 |
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.46.4.tgz",
|
|
@@ -2654,6 +3234,15 @@
|
|
| 2654 |
"dev": true,
|
| 2655 |
"license": "MIT"
|
| 2656 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2657 |
"node_modules/cross-spawn": {
|
| 2658 |
"version": "7.0.6",
|
| 2659 |
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
|
|
@@ -2821,6 +3410,19 @@
|
|
| 2821 |
"node": ">=0.10.0"
|
| 2822 |
}
|
| 2823 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2824 |
"node_modules/dunder-proto": {
|
| 2825 |
"version": "1.0.1",
|
| 2826 |
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
|
|
@@ -3041,6 +3643,48 @@
|
|
| 3041 |
"url": "https://github.com/sponsors/ljharb"
|
| 3042 |
}
|
| 3043 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3044 |
"node_modules/escalade": {
|
| 3045 |
"version": "3.2.0",
|
| 3046 |
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
|
|
@@ -3629,6 +4273,21 @@
|
|
| 3629 |
"url": "https://github.com/sponsors/ljharb"
|
| 3630 |
}
|
| 3631 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3632 |
"node_modules/function-bind": {
|
| 3633 |
"version": "1.1.2",
|
| 3634 |
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
|
@@ -6195,6 +6854,26 @@
|
|
| 6195 |
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
|
| 6196 |
"license": "0BSD"
|
| 6197 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6198 |
"node_modules/type-check": {
|
| 6199 |
"version": "0.4.0",
|
| 6200 |
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
|
|
@@ -6347,7 +7026,6 @@
|
|
| 6347 |
"version": "6.21.0",
|
| 6348 |
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
|
| 6349 |
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
|
| 6350 |
-
"dev": true,
|
| 6351 |
"license": "MIT"
|
| 6352 |
},
|
| 6353 |
"node_modules/unrs-resolver": {
|
|
@@ -6541,6 +7219,27 @@
|
|
| 6541 |
"node": ">=0.10.0"
|
| 6542 |
}
|
| 6543 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6544 |
"node_modules/yallist": {
|
| 6545 |
"version": "3.1.1",
|
| 6546 |
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
|
|
|
|
| 8 |
"name": "parrot",
|
| 9 |
"version": "0.1.0",
|
| 10 |
"dependencies": {
|
| 11 |
+
"@huggingface/inference": "^4.13.3",
|
| 12 |
+
"@supabase/ssr": "^0.7.0",
|
| 13 |
+
"@supabase/supabase-js": "^2.81.1",
|
| 14 |
"next": "16.0.3",
|
| 15 |
"react": "19.2.0",
|
| 16 |
"react-dom": "19.2.0"
|
|
|
|
| 21 |
"@types/react": "^19",
|
| 22 |
"@types/react-dom": "^19",
|
| 23 |
"babel-plugin-react-compiler": "1.0.0",
|
| 24 |
+
"dotenv": "^17.2.3",
|
| 25 |
"eslint": "^9",
|
| 26 |
"eslint-config-next": "16.0.3",
|
| 27 |
"tailwindcss": "^4",
|
| 28 |
+
"tsx": "^4.20.6",
|
| 29 |
"typescript": "^5"
|
| 30 |
}
|
| 31 |
},
|
|
|
|
| 315 |
"tslib": "^2.4.0"
|
| 316 |
}
|
| 317 |
},
|
| 318 |
+
"node_modules/@esbuild/aix-ppc64": {
|
| 319 |
+
"version": "0.25.12",
|
| 320 |
+
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",
|
| 321 |
+
"integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==",
|
| 322 |
+
"cpu": [
|
| 323 |
+
"ppc64"
|
| 324 |
+
],
|
| 325 |
+
"dev": true,
|
| 326 |
+
"license": "MIT",
|
| 327 |
+
"optional": true,
|
| 328 |
+
"os": [
|
| 329 |
+
"aix"
|
| 330 |
+
],
|
| 331 |
+
"engines": {
|
| 332 |
+
"node": ">=18"
|
| 333 |
+
}
|
| 334 |
+
},
|
| 335 |
+
"node_modules/@esbuild/android-arm": {
|
| 336 |
+
"version": "0.25.12",
|
| 337 |
+
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz",
|
| 338 |
+
"integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==",
|
| 339 |
+
"cpu": [
|
| 340 |
+
"arm"
|
| 341 |
+
],
|
| 342 |
+
"dev": true,
|
| 343 |
+
"license": "MIT",
|
| 344 |
+
"optional": true,
|
| 345 |
+
"os": [
|
| 346 |
+
"android"
|
| 347 |
+
],
|
| 348 |
+
"engines": {
|
| 349 |
+
"node": ">=18"
|
| 350 |
+
}
|
| 351 |
+
},
|
| 352 |
+
"node_modules/@esbuild/android-arm64": {
|
| 353 |
+
"version": "0.25.12",
|
| 354 |
+
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz",
|
| 355 |
+
"integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==",
|
| 356 |
+
"cpu": [
|
| 357 |
+
"arm64"
|
| 358 |
+
],
|
| 359 |
+
"dev": true,
|
| 360 |
+
"license": "MIT",
|
| 361 |
+
"optional": true,
|
| 362 |
+
"os": [
|
| 363 |
+
"android"
|
| 364 |
+
],
|
| 365 |
+
"engines": {
|
| 366 |
+
"node": ">=18"
|
| 367 |
+
}
|
| 368 |
+
},
|
| 369 |
+
"node_modules/@esbuild/android-x64": {
|
| 370 |
+
"version": "0.25.12",
|
| 371 |
+
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz",
|
| 372 |
+
"integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==",
|
| 373 |
+
"cpu": [
|
| 374 |
+
"x64"
|
| 375 |
+
],
|
| 376 |
+
"dev": true,
|
| 377 |
+
"license": "MIT",
|
| 378 |
+
"optional": true,
|
| 379 |
+
"os": [
|
| 380 |
+
"android"
|
| 381 |
+
],
|
| 382 |
+
"engines": {
|
| 383 |
+
"node": ">=18"
|
| 384 |
+
}
|
| 385 |
+
},
|
| 386 |
+
"node_modules/@esbuild/darwin-arm64": {
|
| 387 |
+
"version": "0.25.12",
|
| 388 |
+
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz",
|
| 389 |
+
"integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==",
|
| 390 |
+
"cpu": [
|
| 391 |
+
"arm64"
|
| 392 |
+
],
|
| 393 |
+
"dev": true,
|
| 394 |
+
"license": "MIT",
|
| 395 |
+
"optional": true,
|
| 396 |
+
"os": [
|
| 397 |
+
"darwin"
|
| 398 |
+
],
|
| 399 |
+
"engines": {
|
| 400 |
+
"node": ">=18"
|
| 401 |
+
}
|
| 402 |
+
},
|
| 403 |
+
"node_modules/@esbuild/darwin-x64": {
|
| 404 |
+
"version": "0.25.12",
|
| 405 |
+
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz",
|
| 406 |
+
"integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==",
|
| 407 |
+
"cpu": [
|
| 408 |
+
"x64"
|
| 409 |
+
],
|
| 410 |
+
"dev": true,
|
| 411 |
+
"license": "MIT",
|
| 412 |
+
"optional": true,
|
| 413 |
+
"os": [
|
| 414 |
+
"darwin"
|
| 415 |
+
],
|
| 416 |
+
"engines": {
|
| 417 |
+
"node": ">=18"
|
| 418 |
+
}
|
| 419 |
+
},
|
| 420 |
+
"node_modules/@esbuild/freebsd-arm64": {
|
| 421 |
+
"version": "0.25.12",
|
| 422 |
+
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz",
|
| 423 |
+
"integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==",
|
| 424 |
+
"cpu": [
|
| 425 |
+
"arm64"
|
| 426 |
+
],
|
| 427 |
+
"dev": true,
|
| 428 |
+
"license": "MIT",
|
| 429 |
+
"optional": true,
|
| 430 |
+
"os": [
|
| 431 |
+
"freebsd"
|
| 432 |
+
],
|
| 433 |
+
"engines": {
|
| 434 |
+
"node": ">=18"
|
| 435 |
+
}
|
| 436 |
+
},
|
| 437 |
+
"node_modules/@esbuild/freebsd-x64": {
|
| 438 |
+
"version": "0.25.12",
|
| 439 |
+
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz",
|
| 440 |
+
"integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==",
|
| 441 |
+
"cpu": [
|
| 442 |
+
"x64"
|
| 443 |
+
],
|
| 444 |
+
"dev": true,
|
| 445 |
+
"license": "MIT",
|
| 446 |
+
"optional": true,
|
| 447 |
+
"os": [
|
| 448 |
+
"freebsd"
|
| 449 |
+
],
|
| 450 |
+
"engines": {
|
| 451 |
+
"node": ">=18"
|
| 452 |
+
}
|
| 453 |
+
},
|
| 454 |
+
"node_modules/@esbuild/linux-arm": {
|
| 455 |
+
"version": "0.25.12",
|
| 456 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz",
|
| 457 |
+
"integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==",
|
| 458 |
+
"cpu": [
|
| 459 |
+
"arm"
|
| 460 |
+
],
|
| 461 |
+
"dev": true,
|
| 462 |
+
"license": "MIT",
|
| 463 |
+
"optional": true,
|
| 464 |
+
"os": [
|
| 465 |
+
"linux"
|
| 466 |
+
],
|
| 467 |
+
"engines": {
|
| 468 |
+
"node": ">=18"
|
| 469 |
+
}
|
| 470 |
+
},
|
| 471 |
+
"node_modules/@esbuild/linux-arm64": {
|
| 472 |
+
"version": "0.25.12",
|
| 473 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz",
|
| 474 |
+
"integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==",
|
| 475 |
+
"cpu": [
|
| 476 |
+
"arm64"
|
| 477 |
+
],
|
| 478 |
+
"dev": true,
|
| 479 |
+
"license": "MIT",
|
| 480 |
+
"optional": true,
|
| 481 |
+
"os": [
|
| 482 |
+
"linux"
|
| 483 |
+
],
|
| 484 |
+
"engines": {
|
| 485 |
+
"node": ">=18"
|
| 486 |
+
}
|
| 487 |
+
},
|
| 488 |
+
"node_modules/@esbuild/linux-ia32": {
|
| 489 |
+
"version": "0.25.12",
|
| 490 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz",
|
| 491 |
+
"integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==",
|
| 492 |
+
"cpu": [
|
| 493 |
+
"ia32"
|
| 494 |
+
],
|
| 495 |
+
"dev": true,
|
| 496 |
+
"license": "MIT",
|
| 497 |
+
"optional": true,
|
| 498 |
+
"os": [
|
| 499 |
+
"linux"
|
| 500 |
+
],
|
| 501 |
+
"engines": {
|
| 502 |
+
"node": ">=18"
|
| 503 |
+
}
|
| 504 |
+
},
|
| 505 |
+
"node_modules/@esbuild/linux-loong64": {
|
| 506 |
+
"version": "0.25.12",
|
| 507 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz",
|
| 508 |
+
"integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==",
|
| 509 |
+
"cpu": [
|
| 510 |
+
"loong64"
|
| 511 |
+
],
|
| 512 |
+
"dev": true,
|
| 513 |
+
"license": "MIT",
|
| 514 |
+
"optional": true,
|
| 515 |
+
"os": [
|
| 516 |
+
"linux"
|
| 517 |
+
],
|
| 518 |
+
"engines": {
|
| 519 |
+
"node": ">=18"
|
| 520 |
+
}
|
| 521 |
+
},
|
| 522 |
+
"node_modules/@esbuild/linux-mips64el": {
|
| 523 |
+
"version": "0.25.12",
|
| 524 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz",
|
| 525 |
+
"integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==",
|
| 526 |
+
"cpu": [
|
| 527 |
+
"mips64el"
|
| 528 |
+
],
|
| 529 |
+
"dev": true,
|
| 530 |
+
"license": "MIT",
|
| 531 |
+
"optional": true,
|
| 532 |
+
"os": [
|
| 533 |
+
"linux"
|
| 534 |
+
],
|
| 535 |
+
"engines": {
|
| 536 |
+
"node": ">=18"
|
| 537 |
+
}
|
| 538 |
+
},
|
| 539 |
+
"node_modules/@esbuild/linux-ppc64": {
|
| 540 |
+
"version": "0.25.12",
|
| 541 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz",
|
| 542 |
+
"integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==",
|
| 543 |
+
"cpu": [
|
| 544 |
+
"ppc64"
|
| 545 |
+
],
|
| 546 |
+
"dev": true,
|
| 547 |
+
"license": "MIT",
|
| 548 |
+
"optional": true,
|
| 549 |
+
"os": [
|
| 550 |
+
"linux"
|
| 551 |
+
],
|
| 552 |
+
"engines": {
|
| 553 |
+
"node": ">=18"
|
| 554 |
+
}
|
| 555 |
+
},
|
| 556 |
+
"node_modules/@esbuild/linux-riscv64": {
|
| 557 |
+
"version": "0.25.12",
|
| 558 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz",
|
| 559 |
+
"integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==",
|
| 560 |
+
"cpu": [
|
| 561 |
+
"riscv64"
|
| 562 |
+
],
|
| 563 |
+
"dev": true,
|
| 564 |
+
"license": "MIT",
|
| 565 |
+
"optional": true,
|
| 566 |
+
"os": [
|
| 567 |
+
"linux"
|
| 568 |
+
],
|
| 569 |
+
"engines": {
|
| 570 |
+
"node": ">=18"
|
| 571 |
+
}
|
| 572 |
+
},
|
| 573 |
+
"node_modules/@esbuild/linux-s390x": {
|
| 574 |
+
"version": "0.25.12",
|
| 575 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz",
|
| 576 |
+
"integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==",
|
| 577 |
+
"cpu": [
|
| 578 |
+
"s390x"
|
| 579 |
+
],
|
| 580 |
+
"dev": true,
|
| 581 |
+
"license": "MIT",
|
| 582 |
+
"optional": true,
|
| 583 |
+
"os": [
|
| 584 |
+
"linux"
|
| 585 |
+
],
|
| 586 |
+
"engines": {
|
| 587 |
+
"node": ">=18"
|
| 588 |
+
}
|
| 589 |
+
},
|
| 590 |
+
"node_modules/@esbuild/linux-x64": {
|
| 591 |
+
"version": "0.25.12",
|
| 592 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",
|
| 593 |
+
"integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==",
|
| 594 |
+
"cpu": [
|
| 595 |
+
"x64"
|
| 596 |
+
],
|
| 597 |
+
"dev": true,
|
| 598 |
+
"license": "MIT",
|
| 599 |
+
"optional": true,
|
| 600 |
+
"os": [
|
| 601 |
+
"linux"
|
| 602 |
+
],
|
| 603 |
+
"engines": {
|
| 604 |
+
"node": ">=18"
|
| 605 |
+
}
|
| 606 |
+
},
|
| 607 |
+
"node_modules/@esbuild/netbsd-arm64": {
|
| 608 |
+
"version": "0.25.12",
|
| 609 |
+
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
|
| 610 |
+
"integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==",
|
| 611 |
+
"cpu": [
|
| 612 |
+
"arm64"
|
| 613 |
+
],
|
| 614 |
+
"dev": true,
|
| 615 |
+
"license": "MIT",
|
| 616 |
+
"optional": true,
|
| 617 |
+
"os": [
|
| 618 |
+
"netbsd"
|
| 619 |
+
],
|
| 620 |
+
"engines": {
|
| 621 |
+
"node": ">=18"
|
| 622 |
+
}
|
| 623 |
+
},
|
| 624 |
+
"node_modules/@esbuild/netbsd-x64": {
|
| 625 |
+
"version": "0.25.12",
|
| 626 |
+
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",
|
| 627 |
+
"integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==",
|
| 628 |
+
"cpu": [
|
| 629 |
+
"x64"
|
| 630 |
+
],
|
| 631 |
+
"dev": true,
|
| 632 |
+
"license": "MIT",
|
| 633 |
+
"optional": true,
|
| 634 |
+
"os": [
|
| 635 |
+
"netbsd"
|
| 636 |
+
],
|
| 637 |
+
"engines": {
|
| 638 |
+
"node": ">=18"
|
| 639 |
+
}
|
| 640 |
+
},
|
| 641 |
+
"node_modules/@esbuild/openbsd-arm64": {
|
| 642 |
+
"version": "0.25.12",
|
| 643 |
+
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
|
| 644 |
+
"integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
|
| 645 |
+
"cpu": [
|
| 646 |
+
"arm64"
|
| 647 |
+
],
|
| 648 |
+
"dev": true,
|
| 649 |
+
"license": "MIT",
|
| 650 |
+
"optional": true,
|
| 651 |
+
"os": [
|
| 652 |
+
"openbsd"
|
| 653 |
+
],
|
| 654 |
+
"engines": {
|
| 655 |
+
"node": ">=18"
|
| 656 |
+
}
|
| 657 |
+
},
|
| 658 |
+
"node_modules/@esbuild/openbsd-x64": {
|
| 659 |
+
"version": "0.25.12",
|
| 660 |
+
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",
|
| 661 |
+
"integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==",
|
| 662 |
+
"cpu": [
|
| 663 |
+
"x64"
|
| 664 |
+
],
|
| 665 |
+
"dev": true,
|
| 666 |
+
"license": "MIT",
|
| 667 |
+
"optional": true,
|
| 668 |
+
"os": [
|
| 669 |
+
"openbsd"
|
| 670 |
+
],
|
| 671 |
+
"engines": {
|
| 672 |
+
"node": ">=18"
|
| 673 |
+
}
|
| 674 |
+
},
|
| 675 |
+
"node_modules/@esbuild/openharmony-arm64": {
|
| 676 |
+
"version": "0.25.12",
|
| 677 |
+
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz",
|
| 678 |
+
"integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==",
|
| 679 |
+
"cpu": [
|
| 680 |
+
"arm64"
|
| 681 |
+
],
|
| 682 |
+
"dev": true,
|
| 683 |
+
"license": "MIT",
|
| 684 |
+
"optional": true,
|
| 685 |
+
"os": [
|
| 686 |
+
"openharmony"
|
| 687 |
+
],
|
| 688 |
+
"engines": {
|
| 689 |
+
"node": ">=18"
|
| 690 |
+
}
|
| 691 |
+
},
|
| 692 |
+
"node_modules/@esbuild/sunos-x64": {
|
| 693 |
+
"version": "0.25.12",
|
| 694 |
+
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz",
|
| 695 |
+
"integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==",
|
| 696 |
+
"cpu": [
|
| 697 |
+
"x64"
|
| 698 |
+
],
|
| 699 |
+
"dev": true,
|
| 700 |
+
"license": "MIT",
|
| 701 |
+
"optional": true,
|
| 702 |
+
"os": [
|
| 703 |
+
"sunos"
|
| 704 |
+
],
|
| 705 |
+
"engines": {
|
| 706 |
+
"node": ">=18"
|
| 707 |
+
}
|
| 708 |
+
},
|
| 709 |
+
"node_modules/@esbuild/win32-arm64": {
|
| 710 |
+
"version": "0.25.12",
|
| 711 |
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz",
|
| 712 |
+
"integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==",
|
| 713 |
+
"cpu": [
|
| 714 |
+
"arm64"
|
| 715 |
+
],
|
| 716 |
+
"dev": true,
|
| 717 |
+
"license": "MIT",
|
| 718 |
+
"optional": true,
|
| 719 |
+
"os": [
|
| 720 |
+
"win32"
|
| 721 |
+
],
|
| 722 |
+
"engines": {
|
| 723 |
+
"node": ">=18"
|
| 724 |
+
}
|
| 725 |
+
},
|
| 726 |
+
"node_modules/@esbuild/win32-ia32": {
|
| 727 |
+
"version": "0.25.12",
|
| 728 |
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz",
|
| 729 |
+
"integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==",
|
| 730 |
+
"cpu": [
|
| 731 |
+
"ia32"
|
| 732 |
+
],
|
| 733 |
+
"dev": true,
|
| 734 |
+
"license": "MIT",
|
| 735 |
+
"optional": true,
|
| 736 |
+
"os": [
|
| 737 |
+
"win32"
|
| 738 |
+
],
|
| 739 |
+
"engines": {
|
| 740 |
+
"node": ">=18"
|
| 741 |
+
}
|
| 742 |
+
},
|
| 743 |
+
"node_modules/@esbuild/win32-x64": {
|
| 744 |
+
"version": "0.25.12",
|
| 745 |
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz",
|
| 746 |
+
"integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==",
|
| 747 |
+
"cpu": [
|
| 748 |
+
"x64"
|
| 749 |
+
],
|
| 750 |
+
"dev": true,
|
| 751 |
+
"license": "MIT",
|
| 752 |
+
"optional": true,
|
| 753 |
+
"os": [
|
| 754 |
+
"win32"
|
| 755 |
+
],
|
| 756 |
+
"engines": {
|
| 757 |
+
"node": ">=18"
|
| 758 |
+
}
|
| 759 |
+
},
|
| 760 |
"node_modules/@eslint-community/eslint-utils": {
|
| 761 |
"version": "4.9.0",
|
| 762 |
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
|
|
|
|
| 901 |
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
| 902 |
}
|
| 903 |
},
|
| 904 |
+
"node_modules/@huggingface/inference": {
|
| 905 |
+
"version": "4.13.3",
|
| 906 |
+
"resolved": "https://registry.npmjs.org/@huggingface/inference/-/inference-4.13.3.tgz",
|
| 907 |
+
"integrity": "sha512-ZpyIlO9Xd0sDiD3QZSQMsJ19iFXYOHHxrgA6pK5Mh5RMY27XlnbLNhazAAaBsmen8vWG6SlGHlyjl7kvjlNoqQ==",
|
| 908 |
+
"license": "MIT",
|
| 909 |
+
"dependencies": {
|
| 910 |
+
"@huggingface/jinja": "^0.5.1",
|
| 911 |
+
"@huggingface/tasks": "^0.19.63"
|
| 912 |
+
},
|
| 913 |
+
"engines": {
|
| 914 |
+
"node": ">=18"
|
| 915 |
+
}
|
| 916 |
+
},
|
| 917 |
+
"node_modules/@huggingface/jinja": {
|
| 918 |
+
"version": "0.5.1",
|
| 919 |
+
"resolved": "https://registry.npmjs.org/@huggingface/jinja/-/jinja-0.5.1.tgz",
|
| 920 |
+
"integrity": "sha512-yUZLld4lrM9iFxHCwFQ7D1HW2MWMwSbeB7WzWqFYDWK+rEb+WldkLdAJxUPOmgICMHZLzZGVcVjFh3w/YGubng==",
|
| 921 |
+
"license": "MIT",
|
| 922 |
+
"engines": {
|
| 923 |
+
"node": ">=18"
|
| 924 |
+
}
|
| 925 |
+
},
|
| 926 |
+
"node_modules/@huggingface/tasks": {
|
| 927 |
+
"version": "0.19.63",
|
| 928 |
+
"resolved": "https://registry.npmjs.org/@huggingface/tasks/-/tasks-0.19.63.tgz",
|
| 929 |
+
"integrity": "sha512-hmd8e5fdjRiIJE7/EYWXS+Pm2SAu89xjZEgfZddN10ubWqlelXLyj2YgHZrVDEVkVA+5+ImMZUpQIez7b2//fw==",
|
| 930 |
+
"license": "MIT"
|
| 931 |
+
},
|
| 932 |
"node_modules/@humanfs/core": {
|
| 933 |
"version": "0.19.1",
|
| 934 |
"resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
|
|
|
|
| 1709 |
"dev": true,
|
| 1710 |
"license": "MIT"
|
| 1711 |
},
|
| 1712 |
+
"node_modules/@supabase/auth-js": {
|
| 1713 |
+
"version": "2.81.1",
|
| 1714 |
+
"resolved": "https://registry.npmjs.org/@supabase/auth-js/-/auth-js-2.81.1.tgz",
|
| 1715 |
+
"integrity": "sha512-K20GgiSm9XeRLypxYHa5UCnybWc2K0ok0HLbqCej/wRxDpJxToXNOwKt0l7nO8xI1CyQ+GrNfU6bcRzvdbeopQ==",
|
| 1716 |
+
"license": "MIT",
|
| 1717 |
+
"dependencies": {
|
| 1718 |
+
"tslib": "2.8.1"
|
| 1719 |
+
},
|
| 1720 |
+
"engines": {
|
| 1721 |
+
"node": ">=20.0.0"
|
| 1722 |
+
}
|
| 1723 |
+
},
|
| 1724 |
+
"node_modules/@supabase/functions-js": {
|
| 1725 |
+
"version": "2.81.1",
|
| 1726 |
+
"resolved": "https://registry.npmjs.org/@supabase/functions-js/-/functions-js-2.81.1.tgz",
|
| 1727 |
+
"integrity": "sha512-sYgSO3mlgL0NvBFS3oRfCK4OgKGQwuOWJLzfPyWg0k8MSxSFSDeN/JtrDJD5GQrxskP6c58+vUzruBJQY78AqQ==",
|
| 1728 |
+
"license": "MIT",
|
| 1729 |
+
"dependencies": {
|
| 1730 |
+
"tslib": "2.8.1"
|
| 1731 |
+
},
|
| 1732 |
+
"engines": {
|
| 1733 |
+
"node": ">=20.0.0"
|
| 1734 |
+
}
|
| 1735 |
+
},
|
| 1736 |
+
"node_modules/@supabase/postgrest-js": {
|
| 1737 |
+
"version": "2.81.1",
|
| 1738 |
+
"resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-2.81.1.tgz",
|
| 1739 |
+
"integrity": "sha512-DePpUTAPXJyBurQ4IH2e42DWoA+/Qmr5mbgY4B6ZcxVc/ZUKfTVK31BYIFBATMApWraFc8Q/Sg+yxtfJ3E0wSg==",
|
| 1740 |
+
"license": "MIT",
|
| 1741 |
+
"dependencies": {
|
| 1742 |
+
"tslib": "2.8.1"
|
| 1743 |
+
},
|
| 1744 |
+
"engines": {
|
| 1745 |
+
"node": ">=20.0.0"
|
| 1746 |
+
}
|
| 1747 |
+
},
|
| 1748 |
+
"node_modules/@supabase/realtime-js": {
|
| 1749 |
+
"version": "2.81.1",
|
| 1750 |
+
"resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-2.81.1.tgz",
|
| 1751 |
+
"integrity": "sha512-ViQ+Kxm8BuUP/TcYmH9tViqYKGSD1LBjdqx2p5J+47RES6c+0QHedM0PPAjthMdAHWyb2LGATE9PD2++2rO/tw==",
|
| 1752 |
+
"license": "MIT",
|
| 1753 |
+
"dependencies": {
|
| 1754 |
+
"@types/phoenix": "^1.6.6",
|
| 1755 |
+
"@types/ws": "^8.18.1",
|
| 1756 |
+
"tslib": "2.8.1",
|
| 1757 |
+
"ws": "^8.18.2"
|
| 1758 |
+
},
|
| 1759 |
+
"engines": {
|
| 1760 |
+
"node": ">=20.0.0"
|
| 1761 |
+
}
|
| 1762 |
+
},
|
| 1763 |
+
"node_modules/@supabase/ssr": {
|
| 1764 |
+
"version": "0.7.0",
|
| 1765 |
+
"resolved": "https://registry.npmjs.org/@supabase/ssr/-/ssr-0.7.0.tgz",
|
| 1766 |
+
"integrity": "sha512-G65t5EhLSJ5c8hTCcXifSL9Q/ZRXvqgXeNo+d3P56f4U1IxwTqjB64UfmfixvmMcjuxnq2yGqEWVJqUcO+AzAg==",
|
| 1767 |
+
"license": "MIT",
|
| 1768 |
+
"dependencies": {
|
| 1769 |
+
"cookie": "^1.0.2"
|
| 1770 |
+
},
|
| 1771 |
+
"peerDependencies": {
|
| 1772 |
+
"@supabase/supabase-js": "^2.43.4"
|
| 1773 |
+
}
|
| 1774 |
+
},
|
| 1775 |
+
"node_modules/@supabase/storage-js": {
|
| 1776 |
+
"version": "2.81.1",
|
| 1777 |
+
"resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-2.81.1.tgz",
|
| 1778 |
+
"integrity": "sha512-UNmYtjnZnhouqnbEMC1D5YJot7y0rIaZx7FG2Fv8S3hhNjcGVvO+h9We/tggi273BFkiahQPS/uRsapo1cSapw==",
|
| 1779 |
+
"license": "MIT",
|
| 1780 |
+
"dependencies": {
|
| 1781 |
+
"tslib": "2.8.1"
|
| 1782 |
+
},
|
| 1783 |
+
"engines": {
|
| 1784 |
+
"node": ">=20.0.0"
|
| 1785 |
+
}
|
| 1786 |
+
},
|
| 1787 |
+
"node_modules/@supabase/supabase-js": {
|
| 1788 |
+
"version": "2.81.1",
|
| 1789 |
+
"resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.81.1.tgz",
|
| 1790 |
+
"integrity": "sha512-KSdY7xb2L0DlLmlYzIOghdw/na4gsMcqJ8u4sD6tOQJr+x3hLujU9s4R8N3ob84/1bkvpvlU5PYKa1ae+OICnw==",
|
| 1791 |
+
"license": "MIT",
|
| 1792 |
+
"dependencies": {
|
| 1793 |
+
"@supabase/auth-js": "2.81.1",
|
| 1794 |
+
"@supabase/functions-js": "2.81.1",
|
| 1795 |
+
"@supabase/postgrest-js": "2.81.1",
|
| 1796 |
+
"@supabase/realtime-js": "2.81.1",
|
| 1797 |
+
"@supabase/storage-js": "2.81.1"
|
| 1798 |
+
},
|
| 1799 |
+
"engines": {
|
| 1800 |
+
"node": ">=20.0.0"
|
| 1801 |
+
}
|
| 1802 |
+
},
|
| 1803 |
"node_modules/@swc/helpers": {
|
| 1804 |
"version": "0.5.15",
|
| 1805 |
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz",
|
|
|
|
| 2116 |
"version": "20.19.25",
|
| 2117 |
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.25.tgz",
|
| 2118 |
"integrity": "sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==",
|
|
|
|
| 2119 |
"license": "MIT",
|
| 2120 |
"dependencies": {
|
| 2121 |
"undici-types": "~6.21.0"
|
| 2122 |
}
|
| 2123 |
},
|
| 2124 |
+
"node_modules/@types/phoenix": {
|
| 2125 |
+
"version": "1.6.6",
|
| 2126 |
+
"resolved": "https://registry.npmjs.org/@types/phoenix/-/phoenix-1.6.6.tgz",
|
| 2127 |
+
"integrity": "sha512-PIzZZlEppgrpoT2QgbnDU+MMzuR6BbCjllj0bM70lWoejMeNJAxCchxnv7J3XFkI8MpygtRpzXrIlmWUBclP5A==",
|
| 2128 |
+
"license": "MIT"
|
| 2129 |
+
},
|
| 2130 |
"node_modules/@types/react": {
|
| 2131 |
"version": "19.2.5",
|
| 2132 |
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.5.tgz",
|
|
|
|
| 2147 |
"@types/react": "^19.2.0"
|
| 2148 |
}
|
| 2149 |
},
|
| 2150 |
+
"node_modules/@types/ws": {
|
| 2151 |
+
"version": "8.18.1",
|
| 2152 |
+
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
|
| 2153 |
+
"integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==",
|
| 2154 |
+
"license": "MIT",
|
| 2155 |
+
"dependencies": {
|
| 2156 |
+
"@types/node": "*"
|
| 2157 |
+
}
|
| 2158 |
+
},
|
| 2159 |
"node_modules/@typescript-eslint/eslint-plugin": {
|
| 2160 |
"version": "8.46.4",
|
| 2161 |
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.46.4.tgz",
|
|
|
|
| 3234 |
"dev": true,
|
| 3235 |
"license": "MIT"
|
| 3236 |
},
|
| 3237 |
+
"node_modules/cookie": {
|
| 3238 |
+
"version": "1.0.2",
|
| 3239 |
+
"resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz",
|
| 3240 |
+
"integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==",
|
| 3241 |
+
"license": "MIT",
|
| 3242 |
+
"engines": {
|
| 3243 |
+
"node": ">=18"
|
| 3244 |
+
}
|
| 3245 |
+
},
|
| 3246 |
"node_modules/cross-spawn": {
|
| 3247 |
"version": "7.0.6",
|
| 3248 |
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
|
|
|
|
| 3410 |
"node": ">=0.10.0"
|
| 3411 |
}
|
| 3412 |
},
|
| 3413 |
+
"node_modules/dotenv": {
|
| 3414 |
+
"version": "17.2.3",
|
| 3415 |
+
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.3.tgz",
|
| 3416 |
+
"integrity": "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==",
|
| 3417 |
+
"dev": true,
|
| 3418 |
+
"license": "BSD-2-Clause",
|
| 3419 |
+
"engines": {
|
| 3420 |
+
"node": ">=12"
|
| 3421 |
+
},
|
| 3422 |
+
"funding": {
|
| 3423 |
+
"url": "https://dotenvx.com"
|
| 3424 |
+
}
|
| 3425 |
+
},
|
| 3426 |
"node_modules/dunder-proto": {
|
| 3427 |
"version": "1.0.1",
|
| 3428 |
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
|
|
|
|
| 3643 |
"url": "https://github.com/sponsors/ljharb"
|
| 3644 |
}
|
| 3645 |
},
|
| 3646 |
+
"node_modules/esbuild": {
|
| 3647 |
+
"version": "0.25.12",
|
| 3648 |
+
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",
|
| 3649 |
+
"integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==",
|
| 3650 |
+
"dev": true,
|
| 3651 |
+
"hasInstallScript": true,
|
| 3652 |
+
"license": "MIT",
|
| 3653 |
+
"bin": {
|
| 3654 |
+
"esbuild": "bin/esbuild"
|
| 3655 |
+
},
|
| 3656 |
+
"engines": {
|
| 3657 |
+
"node": ">=18"
|
| 3658 |
+
},
|
| 3659 |
+
"optionalDependencies": {
|
| 3660 |
+
"@esbuild/aix-ppc64": "0.25.12",
|
| 3661 |
+
"@esbuild/android-arm": "0.25.12",
|
| 3662 |
+
"@esbuild/android-arm64": "0.25.12",
|
| 3663 |
+
"@esbuild/android-x64": "0.25.12",
|
| 3664 |
+
"@esbuild/darwin-arm64": "0.25.12",
|
| 3665 |
+
"@esbuild/darwin-x64": "0.25.12",
|
| 3666 |
+
"@esbuild/freebsd-arm64": "0.25.12",
|
| 3667 |
+
"@esbuild/freebsd-x64": "0.25.12",
|
| 3668 |
+
"@esbuild/linux-arm": "0.25.12",
|
| 3669 |
+
"@esbuild/linux-arm64": "0.25.12",
|
| 3670 |
+
"@esbuild/linux-ia32": "0.25.12",
|
| 3671 |
+
"@esbuild/linux-loong64": "0.25.12",
|
| 3672 |
+
"@esbuild/linux-mips64el": "0.25.12",
|
| 3673 |
+
"@esbuild/linux-ppc64": "0.25.12",
|
| 3674 |
+
"@esbuild/linux-riscv64": "0.25.12",
|
| 3675 |
+
"@esbuild/linux-s390x": "0.25.12",
|
| 3676 |
+
"@esbuild/linux-x64": "0.25.12",
|
| 3677 |
+
"@esbuild/netbsd-arm64": "0.25.12",
|
| 3678 |
+
"@esbuild/netbsd-x64": "0.25.12",
|
| 3679 |
+
"@esbuild/openbsd-arm64": "0.25.12",
|
| 3680 |
+
"@esbuild/openbsd-x64": "0.25.12",
|
| 3681 |
+
"@esbuild/openharmony-arm64": "0.25.12",
|
| 3682 |
+
"@esbuild/sunos-x64": "0.25.12",
|
| 3683 |
+
"@esbuild/win32-arm64": "0.25.12",
|
| 3684 |
+
"@esbuild/win32-ia32": "0.25.12",
|
| 3685 |
+
"@esbuild/win32-x64": "0.25.12"
|
| 3686 |
+
}
|
| 3687 |
+
},
|
| 3688 |
"node_modules/escalade": {
|
| 3689 |
"version": "3.2.0",
|
| 3690 |
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
|
|
|
|
| 4273 |
"url": "https://github.com/sponsors/ljharb"
|
| 4274 |
}
|
| 4275 |
},
|
| 4276 |
+
"node_modules/fsevents": {
|
| 4277 |
+
"version": "2.3.3",
|
| 4278 |
+
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
|
| 4279 |
+
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
|
| 4280 |
+
"dev": true,
|
| 4281 |
+
"hasInstallScript": true,
|
| 4282 |
+
"license": "MIT",
|
| 4283 |
+
"optional": true,
|
| 4284 |
+
"os": [
|
| 4285 |
+
"darwin"
|
| 4286 |
+
],
|
| 4287 |
+
"engines": {
|
| 4288 |
+
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
| 4289 |
+
}
|
| 4290 |
+
},
|
| 4291 |
"node_modules/function-bind": {
|
| 4292 |
"version": "1.1.2",
|
| 4293 |
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
|
|
|
| 6854 |
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
|
| 6855 |
"license": "0BSD"
|
| 6856 |
},
|
| 6857 |
+
"node_modules/tsx": {
|
| 6858 |
+
"version": "4.20.6",
|
| 6859 |
+
"resolved": "https://registry.npmjs.org/tsx/-/tsx-4.20.6.tgz",
|
| 6860 |
+
"integrity": "sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==",
|
| 6861 |
+
"dev": true,
|
| 6862 |
+
"license": "MIT",
|
| 6863 |
+
"dependencies": {
|
| 6864 |
+
"esbuild": "~0.25.0",
|
| 6865 |
+
"get-tsconfig": "^4.7.5"
|
| 6866 |
+
},
|
| 6867 |
+
"bin": {
|
| 6868 |
+
"tsx": "dist/cli.mjs"
|
| 6869 |
+
},
|
| 6870 |
+
"engines": {
|
| 6871 |
+
"node": ">=18.0.0"
|
| 6872 |
+
},
|
| 6873 |
+
"optionalDependencies": {
|
| 6874 |
+
"fsevents": "~2.3.3"
|
| 6875 |
+
}
|
| 6876 |
+
},
|
| 6877 |
"node_modules/type-check": {
|
| 6878 |
"version": "0.4.0",
|
| 6879 |
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
|
|
|
|
| 7026 |
"version": "6.21.0",
|
| 7027 |
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
|
| 7028 |
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
|
|
|
|
| 7029 |
"license": "MIT"
|
| 7030 |
},
|
| 7031 |
"node_modules/unrs-resolver": {
|
|
|
|
| 7219 |
"node": ">=0.10.0"
|
| 7220 |
}
|
| 7221 |
},
|
| 7222 |
+
"node_modules/ws": {
|
| 7223 |
+
"version": "8.18.3",
|
| 7224 |
+
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
|
| 7225 |
+
"integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
|
| 7226 |
+
"license": "MIT",
|
| 7227 |
+
"engines": {
|
| 7228 |
+
"node": ">=10.0.0"
|
| 7229 |
+
},
|
| 7230 |
+
"peerDependencies": {
|
| 7231 |
+
"bufferutil": "^4.0.1",
|
| 7232 |
+
"utf-8-validate": ">=5.0.2"
|
| 7233 |
+
},
|
| 7234 |
+
"peerDependenciesMeta": {
|
| 7235 |
+
"bufferutil": {
|
| 7236 |
+
"optional": true
|
| 7237 |
+
},
|
| 7238 |
+
"utf-8-validate": {
|
| 7239 |
+
"optional": true
|
| 7240 |
+
}
|
| 7241 |
+
}
|
| 7242 |
+
},
|
| 7243 |
"node_modules/yallist": {
|
| 7244 |
"version": "3.1.1",
|
| 7245 |
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
|
package.json
CHANGED
|
@@ -9,6 +9,9 @@
|
|
| 9 |
"lint": "eslint"
|
| 10 |
},
|
| 11 |
"dependencies": {
|
|
|
|
|
|
|
|
|
|
| 12 |
"next": "16.0.3",
|
| 13 |
"react": "19.2.0",
|
| 14 |
"react-dom": "19.2.0"
|
|
@@ -19,9 +22,11 @@
|
|
| 19 |
"@types/react": "^19",
|
| 20 |
"@types/react-dom": "^19",
|
| 21 |
"babel-plugin-react-compiler": "1.0.0",
|
|
|
|
| 22 |
"eslint": "^9",
|
| 23 |
"eslint-config-next": "16.0.3",
|
| 24 |
"tailwindcss": "^4",
|
|
|
|
| 25 |
"typescript": "^5"
|
| 26 |
}
|
| 27 |
-
}
|
|
|
|
| 9 |
"lint": "eslint"
|
| 10 |
},
|
| 11 |
"dependencies": {
|
| 12 |
+
"@huggingface/inference": "^4.13.3",
|
| 13 |
+
"@supabase/ssr": "^0.7.0",
|
| 14 |
+
"@supabase/supabase-js": "^2.81.1",
|
| 15 |
"next": "16.0.3",
|
| 16 |
"react": "19.2.0",
|
| 17 |
"react-dom": "19.2.0"
|
|
|
|
| 22 |
"@types/react": "^19",
|
| 23 |
"@types/react-dom": "^19",
|
| 24 |
"babel-plugin-react-compiler": "1.0.0",
|
| 25 |
+
"dotenv": "^17.2.3",
|
| 26 |
"eslint": "^9",
|
| 27 |
"eslint-config-next": "16.0.3",
|
| 28 |
"tailwindcss": "^4",
|
| 29 |
+
"tsx": "^4.20.6",
|
| 30 |
"typescript": "^5"
|
| 31 |
}
|
| 32 |
+
}
|
src/app/api/data/route.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import { NextResponse } from 'next/server'
|
| 2 |
+
import { createServerSupabaseClient } from '@/lib/supabase-server'
|
| 3 |
+
|
| 4 |
+
export async function GET(request: Request) {
|
| 5 |
+
try {
|
| 6 |
+
const { searchParams } = new URL(request.url)
|
| 7 |
+
const limit = parseInt(searchParams.get('limit') || '10')
|
| 8 |
+
const model = searchParams.get('model')
|
| 9 |
+
|
| 10 |
+
const supabase = await createServerSupabaseClient()
|
| 11 |
+
let query = supabase
|
| 12 |
+
.from('model_interactions')
|
| 13 |
+
.select('*')
|
| 14 |
+
.order('created_at', { ascending: false })
|
| 15 |
+
.limit(limit)
|
| 16 |
+
|
| 17 |
+
if (model) {
|
| 18 |
+
query = query.eq('model_name', model)
|
| 19 |
+
}
|
| 20 |
+
|
| 21 |
+
const { data, error } = await query
|
| 22 |
+
|
| 23 |
+
if (error) {
|
| 24 |
+
throw error
|
| 25 |
+
}
|
| 26 |
+
|
| 27 |
+
return NextResponse.json({ data }, { status: 200 })
|
| 28 |
+
} catch (error: any) {
|
| 29 |
+
console.error('Data API Error:', error)
|
| 30 |
+
return NextResponse.json(
|
| 31 |
+
{ error: error.message || 'Internal server error' },
|
| 32 |
+
{ status: 500 }
|
| 33 |
+
)
|
| 34 |
+
}
|
| 35 |
+
}
|
src/app/api/inference/route.ts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import { NextResponse } from 'next/server'
|
| 2 |
+
import { runInference } from '@/lib/huggingface'
|
| 3 |
+
import { createServerSupabaseClient } from '@/lib/supabase-server'
|
| 4 |
+
import type { InferenceRequest } from '@/types'
|
| 5 |
+
|
| 6 |
+
export async function POST(request: Request) {
|
| 7 |
+
try {
|
| 8 |
+
const body: InferenceRequest = await request.json()
|
| 9 |
+
const { model, inputs, parameters } = body
|
| 10 |
+
|
| 11 |
+
if (!model || !inputs) {
|
| 12 |
+
return NextResponse.json(
|
| 13 |
+
{ error: 'Model and inputs are required' },
|
| 14 |
+
{ status: 400 }
|
| 15 |
+
)
|
| 16 |
+
}
|
| 17 |
+
|
| 18 |
+
// Run inference
|
| 19 |
+
const result = await runInference(model, inputs, parameters)
|
| 20 |
+
|
| 21 |
+
// Store in Supabase
|
| 22 |
+
const supabase = await createServerSupabaseClient()
|
| 23 |
+
const { data, error } = await supabase
|
| 24 |
+
.from('model_interactions')
|
| 25 |
+
.insert({
|
| 26 |
+
user_input: typeof inputs === 'string' ? inputs : JSON.stringify(inputs),
|
| 27 |
+
model_output: JSON.stringify(result),
|
| 28 |
+
model_name: model,
|
| 29 |
+
})
|
| 30 |
+
.select()
|
| 31 |
+
.single()
|
| 32 |
+
|
| 33 |
+
if (error) {
|
| 34 |
+
console.error('Supabase error:', error)
|
| 35 |
+
// Still return result even if DB insert fails
|
| 36 |
+
return NextResponse.json({ result }, { status: 200 })
|
| 37 |
+
}
|
| 38 |
+
|
| 39 |
+
return NextResponse.json({ result, data }, { status: 200 })
|
| 40 |
+
} catch (error: any) {
|
| 41 |
+
console.error('API Error:', error)
|
| 42 |
+
return NextResponse.json(
|
| 43 |
+
{ error: error.message || 'Internal server error' },
|
| 44 |
+
{ status: 500 }
|
| 45 |
+
)
|
| 46 |
+
}
|
| 47 |
+
}
|
src/components/DataDisplay.tsx
ADDED
|
File without changes
|
src/components/ModelInterface.tsx
ADDED
|
File without changes
|
src/hooks/index.ts
ADDED
|
File without changes
|
src/lib/huggingface.ts
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import { HfInference } from '@huggingface/inference'
|
| 2 |
+
|
| 3 |
+
// Initialize Hugging Face client
|
| 4 |
+
const hf = new HfInference(process.env.HUGGING_FACE_API_TOKEN)
|
| 5 |
+
|
| 6 |
+
export async function runInference(
|
| 7 |
+
modelId: string,
|
| 8 |
+
inputs: any,
|
| 9 |
+
parameters?: Record<string, any>
|
| 10 |
+
) {
|
| 11 |
+
try {
|
| 12 |
+
const response = await hf.textGeneration({
|
| 13 |
+
model: modelId,
|
| 14 |
+
inputs: inputs,
|
| 15 |
+
parameters: {
|
| 16 |
+
max_new_tokens: 250,
|
| 17 |
+
temperature: 0.7,
|
| 18 |
+
...parameters,
|
| 19 |
+
},
|
| 20 |
+
})
|
| 21 |
+
|
| 22 |
+
return response
|
| 23 |
+
} catch (error) {
|
| 24 |
+
console.error('Hugging Face Inference Error:', error)
|
| 25 |
+
throw error
|
| 26 |
+
}
|
| 27 |
+
}
|
| 28 |
+
|
| 29 |
+
// For custom inference endpoints
|
| 30 |
+
export async function runCustomEndpoint(
|
| 31 |
+
endpointUrl: string,
|
| 32 |
+
inputs: any
|
| 33 |
+
) {
|
| 34 |
+
try {
|
| 35 |
+
const response = await fetch(endpointUrl, {
|
| 36 |
+
method: 'POST',
|
| 37 |
+
headers: {
|
| 38 |
+
'Authorization': `Bearer ${process.env.HUGGING_FACE_API_TOKEN}`,
|
| 39 |
+
'Content-Type': 'application/json',
|
| 40 |
+
},
|
| 41 |
+
body: JSON.stringify({ inputs }),
|
| 42 |
+
})
|
| 43 |
+
|
| 44 |
+
if (!response.ok) {
|
| 45 |
+
throw new Error(`Endpoint error: ${response.statusText}`)
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
return await response.json()
|
| 49 |
+
} catch (error) {
|
| 50 |
+
console.error('Custom Endpoint Error:', error)
|
| 51 |
+
throw error
|
| 52 |
+
}
|
| 53 |
+
}
|
src/lib/supabase-server.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import { createServerClient } from '@supabase/ssr'
|
| 2 |
+
import { cookies } from 'next/headers'
|
| 3 |
+
|
| 4 |
+
export async function createServerSupabaseClient() {
|
| 5 |
+
const cookieStore = await cookies()
|
| 6 |
+
|
| 7 |
+
return createServerClient(
|
| 8 |
+
process.env.NEXT_PUBLIC_SUPABASE_URL!,
|
| 9 |
+
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!,
|
| 10 |
+
{
|
| 11 |
+
cookies: {
|
| 12 |
+
getAll() {
|
| 13 |
+
return cookieStore.getAll()
|
| 14 |
+
},
|
| 15 |
+
setAll(cookiesToSet) {
|
| 16 |
+
try {
|
| 17 |
+
cookiesToSet.forEach(({ name, value, options }) =>
|
| 18 |
+
cookieStore.set(name, value, options)
|
| 19 |
+
)
|
| 20 |
+
} catch {}
|
| 21 |
+
},
|
| 22 |
+
},
|
| 23 |
+
}
|
| 24 |
+
)
|
| 25 |
+
}
|
src/lib/supabase.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import { createBrowserClient } from '@supabase/ssr'
|
| 2 |
+
|
| 3 |
+
export function createClient() {
|
| 4 |
+
return createBrowserClient(
|
| 5 |
+
process.env.NEXT_PUBLIC_SUPABASE_URL!,
|
| 6 |
+
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!
|
| 7 |
+
)
|
| 8 |
+
}
|
src/types/index.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// Database types
|
| 2 |
+
export interface ModelInteraction {
|
| 3 |
+
id: string;
|
| 4 |
+
user_input: string;
|
| 5 |
+
model_output: string;
|
| 6 |
+
model_name: string;
|
| 7 |
+
created_at: string;
|
| 8 |
+
}
|
| 9 |
+
|
| 10 |
+
// API request/response types
|
| 11 |
+
export interface InferenceRequest {
|
| 12 |
+
model: string;
|
| 13 |
+
inputs: string | any;
|
| 14 |
+
parameters?: Record<string, any>;
|
| 15 |
+
}
|
| 16 |
+
|
| 17 |
+
export interface InferenceResponse {
|
| 18 |
+
result: any;
|
| 19 |
+
data?: ModelInteraction;
|
| 20 |
+
}
|
| 21 |
+
|
| 22 |
+
// Hugging Face types
|
| 23 |
+
export interface HFModelConfig {
|
| 24 |
+
modelId: string;
|
| 25 |
+
endpoint?: string;
|
| 26 |
+
parameters?: {
|
| 27 |
+
max_new_tokens?: number;
|
| 28 |
+
temperature?: number;
|
| 29 |
+
top_p?: number;
|
| 30 |
+
};
|
| 31 |
+
}
|
src/utils/index.ts
ADDED
|
File without changes
|
test-setup.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// Run with: npx tsx test-setup.ts
|
| 2 |
+
import 'dotenv/config'
|
| 3 |
+
|
| 4 |
+
console.log('Testing environment variables...')
|
| 5 |
+
console.log('Supabase URL:', process.env.NEXT_PUBLIC_SUPABASE_URL ? '✅' : '❌')
|
| 6 |
+
console.log('Supabase Key:', process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY ? '✅' : '❌')
|
| 7 |
+
console.log('HF Token:', process.env.HUGGING_FACE_API_TOKEN ? '✅' : '❌')
|